文章目录
- 1. 题目
- 2. 解题
1. 题目
给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。
示例:
输入: ["Hello", "Alaska", "Dad", "Peace"]
输出: ["Alaska", "Dad"]
注意:
你可以重复使用键盘上同一字符。
你可以假设输入的字符串将只包含字母。
2. 解题
class Solution {
public:vector<string> findWords(vector<string>& words) {string q{"qwertyuiop"};string a{"asdfghjkl"};string z{"zxcvbnm"};vector<string> ans;int i, j, Q, A, Z;for(i = 0; i < words.size(); ++i){Q = A = Z = 0;for(j = 0; j < words[i].size(); ++j){if(q.find(tolower(words[i][j])) != string::npos)++Q;else if(a.find(tolower(words[i][j])) != string::npos)++A;else++Z;} if(Q == words[i].size() || A == words[i].size()|| Z == words[i].size())ans.push_back(words[i]);}return ans;}
};