题解 | #特工的密码#

特工的密码

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题目,

全部评论

相关推荐

05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务