题解:
通过分析题目及示例可以得出,本题是让求解name代表的字符串是否是typed代表字符串的子序列(注意与子串有区别)。这里我采用双指针的方法来求解。
代码如下:
class Solution:
def isLongPressedName(self, name: str, typed: str) -> bool:
l1=len(name)
l2=len(typed)
i=0 #指向name的指针
j=0 #指向typed的指针
while j<l2:
if i<l1 and name[i]==typed[j]: #i在合法范围内且字符匹配,name和typed都向下遍历
i+=1
j+=1
elif i>0 and name[i-1]==typed[j]: #字符不匹配,但与上一个字符匹配,往下遍历typed
j+=1
else:
return False
return i==l1