Is Subsequence?
Given a string s and a string t, check if s is subsequence of t.
A subsequence of a string is a new string which is formed from the
original string by deleting some (can be none) of the characters without
disturbing the relative positions of the remaining characters. (ie, "ace"
is a subsequence of "abcde"
while "aec"
is not).
Follow up:
If there are lots of incoming S, say S1, S2, ... , Sk where k >= 1B,
and you want to check one by one to see if T has its subsequence. In
this scenario, how would you change your code?
Example 1:
Input: s = "abc", t = "ahbgdc" Output: true
Example 2:
Input: s = "axc", t = "ahbgdc" Output: false
Constraints:
0 <= s.length <= 100
0 <= t.length <= 10^4
- Both strings consists only of lowercase characters.
class Solution {
public boolean isSubsequence(String s, String t) {
if(s.length()==0)
return true;
int i=0;
int j=0;
while(i<s.length() && j<t.length()){
if(s.charAt(i)==t.charAt(j)){
i++;
}
j++;
if(i==s.length())
return true;
}
return false;
}
}
It is one of easiest solution. Here we are going to iterate each character in both strings.
1) Provide exit conditions in While such that i, j should not exceed s, t string length.
2) If s and t contains same character, then increase i & j.
3) Else increase j only.
While iterating, if i equals to s string length, then returns true. Else return false.
Related Posts:
Click here for May month challenges with solution and explanation
Click here for April month challenges with solution and explanation
Click here for May month challenges with solution and explanation
Click here for April month challenges with solution and explanation
Subscribe us to receive updates instantly.
Please let us know about your views in comment section.
Comments
Post a Comment