一开始觉得是不是有什么巧办法,就先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;
}
}