class Solution:
def isSubsequence(self, s: str, t: str) -> bool:
sp, tp = 0, 0
while sp < len(s) and tp < len(t):
if s[sp] == t[tp]:
sp += 1
tp += 1
return True if sp == len(s) else False
指定兩個 pointer 一個在 s 一個在 t
t 持續往右走,直到字母與 s 相同
如果字母相同,s 走一格
如果 s 走到最後,表示 s 全部在 t 裡面,回傳 true
否則回傳 false
class Solution:
def isSubsequence(self, s: str, t: str) -> bool:
if s == "":
return True
s_idx, t_idx = 0, 0
while s_idx < len(s) and t_idx < len(t):
if s[s_idx] == t[t_idx]:
s_idx += 1
t_idx += 1
if s_idx == len(s):
return True
return False
time complexity: O(n) n for length of t
space complexity: O(1)