500. Keyboard Row(判断字符串字符是否在一行)
来源:互联网 发布:联合国刚果行动知乎 编辑:程序博客网 时间:2024/06/07 02:34
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.
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.
Subscribe to see which companies asked this question.
public class Solution { public String[] findWords(String[] words) { String[] strs = {"QWERTYUIOP","ASDFGHJKL","ZXCVBNM"}; Map<Character, Integer> map = new HashMap<>(); for(int i = 0; i<strs.length; i++){ for(char c: strs[i].toCharArray()){ map.put(c, i);//put <char, rowIndex> pair into the map } } List<String> res = new LinkedList<>(); for(String w: words){ if(w.equals("")) continue; int index = map.get(w.toUpperCase().charAt(0)); for(char c: w.toUpperCase().toCharArray()){ if(map.get(c)!=index){ index = -1; //don't need a boolean flag. break; } } if(index!=-1) res.add(w);//if index != -1, this is a valid string } return res.toArray(new String[0]); }}
0 0
- 500. Keyboard Row(判断字符串字符是否在一行)
- leetcode 500. Keyboard Row(C语言,判断单词是否在键盘同一行,多级指针)22
- leetcode_500. Keyboard Row 判断字符串能否由键盘上同一行的字母组成
- Keyboard Row:判断一组字符串是否只属于某一个集合中
- [LeetCode]500. Keyboard Row(输出在键盘一行上能敲出来的单词)
- 500. Keyboard Row(判断单词能否由键盘上的某一行字符表示)
- 500. Keyboard Row - 是否为键盘行序列
- Leetcode-500. Keyboard Row
- 【Leetcode】500. Keyboard Row
- 500. Keyboard Row
- 500. Keyboard Row
- 【LeetCode】500. Keyboard Row
- 500. Keyboard Row
- LeetCode 500. Keyboard Row
- 500. Keyboard Row
- 500. Keyboard Row
- LeetCode 500. Keyboard Row
- 500. Keyboard Row
- DrawerLayout实现侧滑仿QQ界面
- 主曲率
- 北京一环 二环 三环 四环 五环 六环 周长和面积
- 关于AngularJS学习整理---核心特性
- ModalPopupExtender控件的用法
- 500. Keyboard Row(判断字符串字符是否在一行)
- Jmeter 安装篇
- 为什么要做服务化
- linux 定时任务执行
- JAVA高级【1.2】《Java核心技术2》流与文件-字符集
- 生成1~n的全排列
- Maven基础配置—上传jar包到私服
- Pig-0.16.0的安装与配置
- HTML适应手机浏览器宽度