题解 | #特工的密码#
特工的密码
https://www.nowcoder.com/practice/bcdfed09de534aea92b24c73699dba5c
考察知识点:字符串,遍历
题目解析:
这个题的思路主要就是在t字符串的内部找得到和s字符串每个字符顺序一样的字符,这些字符在t内部可以不是连续出现的,也就是s的字符串每个字符可以分布在t字符串内部的各个位置,可以不连续,但是顺序得一致。
详细解析在代码注释里了解
采用的编程语言:C
完整的编程代码:如下所示
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @param t string字符串 * @return bool布尔型 */ #include <string.h> bool isSubsequence(char* s, char* t ) { int s_count = 0, t_count = 0; int t_len = 0, s_len = 0; int flag = 0; if (s == NULL || t == NULL) return false; /* 获取字符串s和t的长度 */ s_len = strlen(s); t_len = strlen(t); for (int i = 0; i < t_len; i++) { /* s字符串从第一个字符开始和t字符串每个字符串进行匹配,如果t字符串匹配中间遇到和s字符串的字符相同,就将s字符串的指针往后加一,对s字符串的下一个字符进行匹配操作 */ if (s[s_count] == t[i]) { s_count++; /* 如果s子串已经匹配完成,并且整个t字符串没有匹配介绍,就判断s是t的子串,将flag置1并结束循环 */ if (s_count == s_len) { flag = 1; break; } } } if (flag) return true; else return false; }
面试高频TOP202解析 文章被收录于专栏
采用Java,C,Python等方法去解答面试高频TOP202题目,