首页 > 学院 > 开发设计 > 正文

LeetCode:Keyboard Row

2019-11-08 01:44:09
字体:
来源:转载
供稿:网友

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.

American keyboard

Example 1: Input: [“Hello”, “Alaska”, “Dad”, “Peace”] Output: [“Alaska”, “Dad”] Note: You may use one character in the keyboard more than once. You may assume the input string will only contain letters of alphabet. 这里写图片描述

class Solution {public: vector<string> findWords(vector<string>& words) { std::unordered_set <char> row1={'q','w','e','r','t','y','u','i','o','p'}; std::unordered_set <char> row2={'a','s','d','f','g','h','j','k','l'}; std::unordered_set <char> row3={'z','x','c','v','b','n','m'}; vector<string> out; for(auto &elem : words) { bool d1=true,d2=true,d3=true; for(auto &key :elem) { if(d1) { auto re=row1.find(tolower(key)); if(re==row1.end()) d1=false; } if(d2) { auto re=row2.find(tolower(key)); if(re==row2.end()) d2=false; } if(d3) { auto re=row3.find(tolower(key)); if(re==row3.end()) d3=false; } } if(d1||d2||d3) out.push_back(elem); } return out; }};
上一篇:文章标题

下一篇:printf中动态格式参数

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表