题目考察的知识点
考察双指针遍历
题目解答方法的文字分析
问的是子序列,即可以不相邻但是需要保证相对顺序,所以使用双指针遍历的形式。当s字符串最后一个遍历完的时候证明s是t的子串。整体过程如下
本题解析所用的编程语言
使用Java语言解答
完整且正确的编程代码
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @param t string字符串 * @return bool布尔型 */ public boolean isSubsequence(String s, String t) { int i = 0, j = 0; char[] sc = s.toCharArray(); char[] tc = t.toCharArray(); while (i < s.length() && j < t.length()) { //按照顺序判断 因为要保证相对顺序不变 if (sc[i] == tc[j]) { i++; } j++; //t不断向后遍历 } return i >= s.length(); //证明s遍历完 即s是t的子串 } }