392. Is Subsequence
Contents
Problem
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: trueexample 2
Input: s = "axc", t = "ahbgdc"
Output: falseConstraints
- 0 <=
len(s)<= 100 - 0 <=
len(t)<= 10^4 - Both strings consists only of lowercase characters.
Solution
Walking throw strings
func isSubsequence(s string, t string) bool {
isx, itx :=0, 0
for isx<len(s) && itx<len(t) {
if s[isx] == t[itx] {
isx++
}
itx++
}
return isx == len(s)
}