通过万岁!!!
- 题目:给你一个字符串s,还有一个字符串w。其中s是由空格拼接的若干单词,w就是一个单词。问s中有没有单词的前缀是w,如果有,则返回最早出现的那个单词。单词的个数是通过空格来进行区分的。
- 思路:先把s进行拆分,然后拿着每一个单词,跟w进行比对即可。这里需要注意避免数组越界,并且注意找到一个就可以直接return。
- 技巧:字符串比较
java代码
class Solution {
public int isPrefixOfWord(String sentence, String searchWord) {
String[] s = sentence.split(" ");
int ans = -1;
int len = searchWord.length();
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < s[i].length(); j++) {
if (j < len) {
if (s[i].charAt(j) == searchWord.charAt(j)) {
if (len - 1 == j) {
return i + 1;
}
continue;
} else {
break;
}
}
}
}
return ans;
}
}
- 总结:题目不是很难,我最开始以为是要kmp的,结果后来发现,完全没必要,因为只是前缀而已。