以下是一种解决方法的示例代码:
def is_matching(s1, s2):
# 使用两个指针分别指向s1和s2
i = 0
j = 0
while i < len(s1) and j < len(s2):
# 如果当前字符匹配成功,两个指针都向后移动一位
if s1[i] == s2[j]:
i += 1
j += 1
else:
# 如果当前字符匹配不成功,则只移动s2的指针
j += 1
# 如果s1中的所有字符都匹配成功,则s1已按顺序匹配s2
return i == len(s1)
# 测试示例
print(is_matching("abc", "abracadabra")) # True
print(is_matching("abc", "acb")) # False
print(is_matching("hello", "hello world")) # True
运行以上代码,将输出:
True
False
True
该解决方法使用两个指针分别指向s1和s2的字符,然后逐个比较字符是否匹配。如果当前字符匹配成功,则两个指针都向后移动一位;如果当前字符匹配不成功,则只移动s2的指针。最后,如果s1中的所有字符都匹配成功,则s1已按顺序匹配s2。
下一篇:按顺序删除Flutter的对话框