37 lines
886 B
Python
37 lines
886 B
Python
|
class Solution:
|
||
|
def isSubsequence(self, s: str, t: str) -> bool:
|
||
|
slen = len(s)
|
||
|
tlen = len(t)
|
||
|
si = 0
|
||
|
ti = 0
|
||
|
|
||
|
# If s is longer than t, it's obviously not
|
||
|
# going to be a subsequence
|
||
|
if slen > tlen:
|
||
|
return False
|
||
|
|
||
|
while ti < tlen and si < slen:
|
||
|
found = False
|
||
|
|
||
|
while ti < tlen:
|
||
|
if s[si] == t[ti]:
|
||
|
found = True
|
||
|
ti += 1
|
||
|
break
|
||
|
|
||
|
ti += 1
|
||
|
|
||
|
if not found:
|
||
|
return False
|
||
|
|
||
|
si += 1
|
||
|
|
||
|
# We reached end of t but we still have
|
||
|
# characters remaining in s and hence
|
||
|
# it's not a subsequence
|
||
|
if si < slen:
|
||
|
return False
|
||
|
|
||
|
return True
|
||
|
|
||
|
|