--- title: '392. Is Subsequence' description: Given two strings s and t, return true if s is a subsequence of t, or false otherwise sidebar: label: 'Is Subsequence' badge: 'Easy' --- Two Pointers ::::warning Suppose there are lots of incoming s, say s1, s2, ..., sk where k >= 10^9, 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` - `s` and `t` consist only of lowercase English letters. ## Solution ```py class Solution: def isSubsequence(self, s: str, t: str) -> bool: if len(s) > len(t): return False 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) ```