392. 判断子序列 发表于 2025-11-24 更新于 2026-10-20 分类于 算法题解 , 面试经典150题 双指针判断子序列的关键在于,s 中的字符只需要按顺序出现在 t 中即可,不要求连续。 因此可以用两个指针,i 指向 s,j 指向 t。固定 i,不断向右移动 j,直到在 t 中找到和 s[i] 相同的字符。如果一直找到 t 末尾都没找到,说明 s 不是 t 的子序列;否则继续匹配 s 的下一个字符。 如果最终 s 的所有字符都能依次找到,那么它就是 t 的子序列。 时间复杂度 空间复杂度 1234567891011121314151617class Solution { public boolean isSubsequence(String s, String t) { int m = s.length(); int n = t.length(); int j = 0; for (int i = 0; i < m; ++i) { while (j < n && t.charAt(j) != s.charAt(i)) { j++; } if (j == n) { return false; } j++; } return true; }}