题解 | #牛群的信息传递#
牛群的信息传递
https://www.nowcoder.com/practice/0130cb88968a441b9eedbc103466d2bf
知识点:
字符串
分析:
给定一串信息 message 和一个关键词 keyword,找到关键词 keyword 第一次出现在信息 message 中的起始位置下标。如果关键词并未出现在信息中,返回 -1。
遍历字符串,当message字符串出现和keyword字符串相同的首字母,则两个字符串开始比较匹配,如果匹配到了keyword,那么j在匹配结束后会增长到keyword字符串的长度,如果没有增长到keyword字符串的长度,那么久没有匹配到,则返回-1;
编程语言:
C++
完整代码:
int findKeyword(string message, string keyword) { int res = 0; int n = keyword.size(); int j = 0; for(int i = 0;i<message.size();i++){ while(j < n && message[i] == keyword[j]){ res = i; j++; } } return j == keyword.size() ?res - n + 1 : -1; }