500. 键盘行
思路:存储每一位字母键盘的行数
取每一个单词的第一个字母,遍历每一个单词,判断单词所有字母所在行号是否和第一个字母相同,同时要将所有的字母转换成小写字母来处理
时间复杂度: O ( L ) O(L) O(L)所有单词长度之和
空间复杂度: O ( C ) O(C) O(C)字母个数26
class Solution {
public:
vector<string> findWords(vector<string>& words) {
string r = "12210111011122000010020202";
vector<string> res;
for (auto& str : words) {
int index = r[tolower(str[0]) - 'a'];
bool success = true;
for (auto& c : str) {
if (r[tolower(c) - 'a'] != index) {
success = false;
break;
}
}
if (success) res.push_back(str);
}
return res;
}
};