[LeetCode] 392. Is Subsequence @ python

本文介绍了一种高效判断短字符串是否为长字符串子序列的方法。通过使用队列存储短字符串,并遍历长字符串进行匹配,最后检查队列是否为空来确定是否为子序列。此方法简单且易于理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.题目:
有两个字符串s和t,其中s是短字符串,t是长字符串。判断s是不是t的子字符串。注意,这里应该是保留相对顺序的子字符串,也就是在s中出现的两个字符a,b应该在s中t中的相对次序相同。
Example 1:
s = “abc”, t = “ahbgdc”
Return true.
Example 2:
s = “axc”, t = “ahbgdc”
Return false.

二.解题思路:
使用队列存储短字符串,然后遍历长字符串,当与队首元素有匹配的字母时,队首元素出队列.最后判断队列中是否有元素剩余.

class Solution(object):
    def isSubsequence(self, s, t):
        """
        :type s: str
        :type t: str
        :rtype: bool
        """
        que = collections.deque(s)
        for i in t:
            if not que:
                return True
            if i==que[0]:
                que.popleft()
        return not que
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值