feat(392-is-subsequence): simplify and add golang soln
This commit is contained in:
parent
106aac6492
commit
63397e07cd
|
@ -0,0 +1,21 @@
|
|||
func isSubsequence(s string, t string) bool {
|
||||
slen, tlen, si, ti := len(s), len(t), 0, 0
|
||||
|
||||
if slen == 0 {
|
||||
return true
|
||||
}
|
||||
|
||||
if slen > tlen {
|
||||
return false
|
||||
}
|
||||
|
||||
for ti < tlen && si < slen {
|
||||
if s[si] == t[ti] {
|
||||
si += 1
|
||||
}
|
||||
|
||||
ti += 1
|
||||
}
|
||||
|
||||
return si == slen
|
||||
}
|
|
@ -1,9 +1,6 @@
|
|||
class Solution:
|
||||
def isSubsequence(self, s: str, t: str) -> bool:
|
||||
slen = len(s)
|
||||
tlen = len(t)
|
||||
si = 0
|
||||
ti = 0
|
||||
slen, tlen, si, ti = len(s), len(t), 0, 0
|
||||
|
||||
# If s is longer than t, it's obviously not
|
||||
# going to be a subsequence
|
||||
|
@ -11,27 +8,9 @@ class Solution:
|
|||
return False
|
||||
|
||||
while ti < tlen and si < slen:
|
||||
found = False
|
||||
if s[si] == t[ti]:
|
||||
si += 1
|
||||
|
||||
while ti < tlen:
|
||||
if s[si] == t[ti]:
|
||||
found = True
|
||||
ti += 1
|
||||
break
|
||||
ti += 1
|
||||
|
||||
ti += 1
|
||||
|
||||
if not found:
|
||||
return False
|
||||
|
||||
si += 1
|
||||
|
||||
# We reached end of t but we still have
|
||||
# characters remaining in s and hence
|
||||
# it's not a subsequence
|
||||
if si < slen:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
return si == slen
|
||||
|
|
Loading…
Reference in New Issue