Description: Given two strings s and t, return true if s is a subsequence of t, or false otherwise.

Code:

def isSubsequence(self, s: str, t: str) -> bool:
    i, j = 0, 0
    while i < len(s) and j < len(t):
        if s[i] == t[j]:
            i += 1
        j += 1
    return i == len(s)

Efficiency:

Time Complexity: O(n), where n = len(t)

Space Complexity: O(1) 

Test:

s = "abc"
t = "ahbgdc"
isSubsequence(s, t) #True

s = "axc"
t = "ahbgdc"
isSubsequence(s, t) #False