搜索
写经验 领红包
 > 地理

检查单词(单词检查英语怎么说)

导语:「教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;    }}

本文内容由快快网络小彤整理编辑!