|
发表于 2020-4-20 18:16:43
|
显示全部楼层
本帖最后由 March2615 于 2020-4-20 18:53 编辑
- def daily381(s: str, t: str) -> bool:
- # 解题思路:-> s是不是t的子序列
- # len(t) >= len(s)
- # 双指针,pt遍历t,ps遍历s,若pt==ps,ps+=1,same+=1
- if len(t) < len(s):
- return False
- pt, ps, same = 0, 0, 0
- while pt < len(t) and ps < len(s):
- if s[ps] == t[pt]:
- ps += 1
- same += 1
- pt += 1
- return same == len(s)
复制代码
想到昨天用find也很方便
- def daily381(s: str, t: str) -> bool:
- l = -1 # find 找不到返回值为-1
- # m = 0
- for each in s:
- # l = t[m + l + 1:].find(each)
- # m = l
- l = t.find(each, l + 1)
- if l == -1:
- return False
- return True
复制代码
这里如果用切片,需要另一个量去记录,比较麻烦,可以直接用find实现 |
评分
-
查看全部评分
|