def is_subsequence(s,t):
i=0
for c in t:
if i<len(s) and c==s[i]: i+=1
return i==len(s)
public boolean isSubsequence(String s,String t){
int i=0;
for(int j=0;j<t.length();j++)
if(i<s.length()&&t.charAt(j)==s.charAt(i)) i++;
return i==s.length();
}
Two-pointer on strings. Direct iteration vs charAt().
def is_subsequence(s,t):
i=0
for c in t:
if i<len(s) and c==s[i]: i+=1
return i==len(s)
public boolean isSubsequence(String s,String t){
int i=0;
for(int j=0;j<t.length();j++)
if(i<s.length()&&t.charAt(j)==s.charAt(i)) i++;
return i==s.length();
}
1. Scan t 2. Match chars of s in order