# LeetCode.392.Is Subsequence 判断是否子序列

## 题目描述

392 Is Subsequence
https://leetcode-cn.com/problems/is-subsequence/

Given a string s and a string t, check if s is subsequence of t.

You may assume that there is only lower case English letters in both s and t. t is potentially a very long (length ~= 500,000) string, and s is a short string (<=100).

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).

Example 1:

s = "abc", t = "ahbgdc"
Return true.

Example 2:

s = "axc", t = "ahbgdc"
Return false.

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?

## 解题过程

private static class SolutionV2020 {
public boolean isSubsequence(String s, String t) {
if (null == s || null == t) {
return null == s;
}
char[] ss = s.toCharArray();
char[] tt = t.toCharArray();
int i = 0, j = 0;
for (; i < ss.length && j < tt.length; j++) {
if (ss[i] == tt[j]) {
i++;
}
}
return i == ss.length;
}
}

## GitHub代码

algorithms/leetcode/leetcode/_392_IsSubsequence.java
https://github.com/masikkk/algorithms/blob/master/leetcode/leetcode/_392_IsSubsequence.java

325

#### 页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent: