模拟题
ref{:target=”_blank”}
C++ 代码
class Solution {
public:
vector<string> findWords(vector<string>& words) {
vector<string> res;
vector<string> keyboard = {
"qwertyuiop",
"asdfghjkl",
"zxcvbnm"
};
// 分别判断每个单词,一次校验3行键盘
for(const string& word : words) {
for(int i=0; i<3; ++i) {
string& key = keyboard[i];
bool flag = true;
for(char c : word) {
c = tolower(c);
// 字符串较短,string find即可
if(key.find(c) == string::npos){
flag = false;
break;
}
}
if(flag) {
res.push_back(word);
break;
}
}
}
return res;
}
};