检查单词(单词检查英语怎么说)
导语:「教3妹学算法-每日3题(1)」检查单词是否为句中其他单词的前缀
3妹
3妹:2哥,你在干嘛呢,今天终于周六啦, 忙碌了一周还不休息一下哈。2哥:休息是要的,但也不能一直休息啊, 今天的3道题指标还没完成呢。3妹:哦对对对,刚定完指标,我就想偷懒了,嘿嘿嘿。我也去做题
讲课
题目:给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。
如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。如果 searchWord 不是任何单词的前缀,则返回 -1 。
字符串 s 的 前缀 是 s 的任何前导连续子字符串。
示例 1:
输入:sentence = &34;, searchWord = &34;输出:4解释:&34; 是 &34; 的前缀,而 &34; 是句子中第 4 个单词。示例 2:
输入:sentence = &34;, searchWord = &34;输出:2解释:&34; 是 &34; 的前缀,而 &34; 是句子中第 2 个也是第 6 个单词,但是应该返回最小下标 2 。示例 3:
输入:sentence = &34;, searchWord = &34;输出:-1解释:&34; 不是句子中任何单词的前缀。
提示:
1 <= sentence.length <= 1001 <= searchWord.length <= 10sentence 由小写英文字母和空格组成。searchWord 由小写英文字母组成。
方法一:使用API库简单模拟,字符串的StartWith()函数
java代码1:
class Solution { public int isPrefixOfWord(String sentence, String searchWord) { String words[]=sentence.split(&34;); for (int i = 0; i <words.length ; i++) { if(words[i].startsWith(searchWord)){ return i+1; } } return -1; }}
方法2:也是模拟,遍历
java代码2:class Solution { public int isPrefixOfWord(String sentence, String searchWord) { String[] words = sentence.split(&34;); for (int j = 0; j < words.length; j++) { String word = words[j]; if (word.length() < searchWord.length()) { continue; } boolean flag = true; for (int i = 0; i < searchWord.length(); i++) { if (word.charAt(i) != searchWord.charAt(i)) { flag =false; break; } } if(flag) { return j + 1; } } return -1; }}
本文内容由快快网络小彤整理编辑!