leetcode_middle_17_392. Is Subsequence

来源:互联网 发布:矩阵里det是什么意思 编辑:程序博客网 时间:2024/06/06 01:44

题意:

给定一个很长的串t,和一个很短的串s,判断s是否是t的顺序子串,顺序子串的意思是子串的所有字母相对的顺序出现在串中(中间可能有其它字母)。

分析:

我们很自然的就想到,我们要在长串中找子串的字母,当匹配上(搜索到了)子串的第一个字母了才继续搜索子串的第二个字母...

最后看是否全部找到。

public class Solution {    public boolean isSubsequence(String s, String t) {        if (s.length() == 0) return true;        char[] sr = s.toCharArray();        char[] tr = t.toCharArray();        int j = 0;        for(int i=0; i<tr.length; i++){            if(j<sr.length && sr[j] == tr[i]){  //找到了前一个,才找子串的后一个字母                j++;            }            if(j == sr.length){                return true;            }        }        return false;    }}


0 0
原创粉丝点击