[leetcode]500. Keyboard Row
Analysis
讨厌的人总是那么讨厌!—— [ummmm~]
Given a List of words, return the words that can be typed using letters of alphabet on only one row’s of American keyboard like the image below.
判断一个单词的字符是否都在同一行,注意大小写都一样。
Implement
class Solution {
public:
vector<string> findWords(vector<string>& words) {
vector<string> res;
vector<string> keyboard = {"QWERTYUIOP", "ASDFGHJKL", "ZXCVBNM"};
for(string word:words){
bool row0 = true;
bool row1 = true;
bool row2 = true;
for(char c:word){
char t = toupper(c);
if(row0 && keyboard[0].find(t) == -1){
row0 = false;
}
if(row1 && keyboard[1].find(t) == -1){
row1 = false;
}
if(row2 && keyboard[2].find(t) == -1){
row2 = false;
}
}
if(row0 || row1 || row2)
res.push_back(word);
}
return res;
}
};