In this Leetcode Is Subsequence problem solution you have given two strings s and t, return true if s is a subsequence of t, or false otherwise.
A subsequence of a string is a new string that is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (i.e., "ace" is a subsequence of "abcde" while "aec" is not).
Problem solution in Python.
class Solution: def isSubsequence(self, s: str, t: str) -> bool: j,n=0,len(t) for i in s: while j<n and t[j]!=i: j+=1 if j>=n: return False j+=1 return True
Problem solution in Java.
public boolean isSubsequence_basic(String s, String t) { if(s==null) return false; if(s.length()==0) return true; int i=0, j=0; while(i<s.length() && j<t.length()){ char cs = s.charAt(i); char ct = t.charAt(j); if(cs==ct){ i++; } j++; } return i==s.length(); }
Problem solution in C++.
class Solution { public: bool isSubsequence(string s, string t) { int sI = 0; if(s.length() == 0) return true; for(int i = 0 ; i < t.length();i++){ if(t[i] == s[sI]){ ++sI; } if(sI == s.length()) return true; } return false; } };
Problem solution in C.
bool isSubsequence(char * s, char * t){ int j = 0; for (int i = 0; s[j] && t[i]; i++) { if (t[i] == s[j]) { j += 1; } } return (j == strlen(s)); }
1 Comments
dont you think abc != acb. Well it contains three character doesnt mean it contains in the same order.
ReplyDelete