392. Is Subsequence

一开始觉得是不是有什么巧办法,就先BRUTE FORCE。

发现似乎没什么巧办法。

思路是用2个pointers一个标记短string位置,另一个是长string。

找到就p1++,p2++
找不到就p2++

然后用indexOf,似乎快很多。
https://discuss.leetcode.com/topic/57205/java-only-2ms-much-faster-than-normal-2-pointers)

public class Solution 
{
    public boolean isSubsequence(String s, String t) 
    {
        if(t.length() < s.length()) return false;
        int prev = 0;
        for(int i = 0; i < s.length();i++)
        {
            char tempChar = s.charAt(i);
            prev = t.indexOf(tempChar,prev);
            if(prev == -1) return false;
            prev++;
        }
        
        return true;
    }
}
posted @ 2016-09-16 08:22  哇呀呀..生气啦~  阅读(239)  评论(0编辑  收藏  举报