392.判断子序列

简介: 392.判断子序列

题目:给定字符串s和t,判断s是否为t 的子序列

字符串的一个子序列是原始字符串删除一些字符而不改变剩余字符相对位置形成的新字符串。

解题思路:s是否是 t 的子序列,因此只要能找到任意一种 s 在 t 中出现的方式,即可认为 s 是 t 的子序列。

初始两个指针i 和 j ,分别指向 s 和 t 的初始位置。每次贪心地匹配,匹配成功则 i 和 j 同时右移,匹配 s 的下一个位置,匹配失败则 j 右移,i 不变,尝试用t的下一个字符匹配 s。

最终如果 i 移动到 s 的末尾,就说明 s 是 t的子序列。

class Solution{
    public boolean isSubsequence(String s,String t){
        int n=s.length(),m=t.length();
        int i=0,j=0;
        while(i<n && j<m){
            if(s.charAt(i)==t.charAt(j)){
                i++;            
            }       
            j++;             
        }
        return i==n;            
    }
}


相关文章
|
4天前
leetcode-1332:删除回文子序列
leetcode-1332:删除回文子序列
30 0
|
4天前
|
测试技术 Perl
【动态规划】【记忆化搜索】【回文】1312让字符串成为回文串的最少插入次数
【动态规划】【记忆化搜索】【回文】1312让字符串成为回文串的最少插入次数
|
7月前
【Leetcode -389.找不同 -392.判断子序列】
【Leetcode -389.找不同 -392.判断子序列】
35 0
|
4天前
|
测试技术
【力扣】392.判断子序列
【力扣】392.判断子序列
|
4天前
|
人工智能 算法 Java
判断子序列
判断子序列
18 0
|
4天前
leetcode-392:判断子序列
leetcode-392:判断子序列
28 0
|
4天前
|
人工智能
leetcode-718:最长重复子数组
leetcode-718:最长重复子数组
31 0
|
10月前
leecode 115 不同的子序列 对子串包含问题的思考与理解
leecode 115 不同的子序列 对子串包含问题的思考与理解
58 1
|
11月前
|
算法 程序员 数据处理
字符串的全部子序列(递归)
在计算机科学中,子序列和子串的概念非常重要,这两个概念经常在数据处理,文本分析,编程算法等领域被广泛使用。理解子序列和子串的区别以及如何高效地处理它们对于成为一名有效的程序员是非常重要的。
135 0
序列中删除指定的数字(普通法、双指针法)
序列中删除指定的数字(普通法、双指针法)