双指针
遍历直到越界
若s越界说明s都出现了,即True
若s没有越界说明t越界了,即遍历完t也没有发现所有s的元素
即False
class Solution:
def isSubsequence(self, s: str, t: str) -> bool:
i,j=0,0
while True:
if i>=m or j>=n:
break
if s[i]==t[j]:
i+=1
j+=1
return i>=len(s)
其实越界没必要每次循环前都要判断
加了一句try
那么当出现越界的时候自动跳到except中省时省力
class Solution:
def isSubsequence(self, s: str, t: str) -> bool:
i,j=0,0
try:
while True:
if s[i]==t[j]:
i+=1
j+=1
except:
return i>=len(s)