class Solution {
public:
vector<string> findWords(vector<string>& words) {
vector<string> ret;
int sz=words.size();
for(int i=0;i<sz;i++){
if(isOnlyOne(words[i]))
ret.push_back(words[i]);
}
return ret;
}
private:
bool isOnlyOne(const string&s){
static const string key[]={"qwertyuiop","asdfghjkl","zxcvbnm"};
int sz=s.size();
int o=0;
for(int i=0;i<sz;i++){
for(int k=0;k<3;k++){
if(find(key[k].begin(),key[k].end(),tolower(s[i]))!=key[k].end()){
if(!i) o=k;
else {
if(k!=o) return false;
}
}
}
}
return true;
}
};Leetcode500. Keyboard Row
最新推荐文章于 2025-10-20 14:37:34 发布
本文介绍了一个使用C++实现的简单算法,该算法能够检测输入的单词是否仅由键盘上的同一排字符组成。通过定义一个名为Solution的类,其中包括findWords成员函数,此函数接收一个字符串向量作为参数,并返回所有符合条件的单词。为了判断一个单词是否符合条件,使用了isOnlyOne辅助函数,它检查单词中的所有字符是否都属于键盘上预设的三排字符之一。
359

被折叠的 条评论
为什么被折叠?



