3.Keyboard Row
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.Keyboard Row相关的知识,希望对你有一定的参考价值。
leetcode地址:https://leetcode.com/problems/keyboard-row/description/
题意:给你一个字符串数组,输出一个新的数组,这个新的数组中的每一个字符串所有的字符属于键盘上的同一行。
1 public String[] findWords(String[] words) { 2 String[] tmp = new String[]{"qwertyuiop","asdfghjkl","zxcvbnm"}; 3 Map<Character,Integer> map = new HashMap<Character,Integer>(); 4 for(int i=0;i<tmp.length;i++) 5 { 6 char[] chars = tmp[i].toCharArray(); 7 for(char a:chars) 8 map.put(a,i); 9 } 10 11 List<String> result = new ArrayList<String>(); 12 for(int i=0;i<words.length;i++) 13 { 14 String str = words[i].toLowerCase(); 15 int index = map.get(str.charAt(0)); 16 boolean flag = true; 17 for(char a:str.toCharArray()) 18 { 19 if(map.get(a) != index) 20 flag = false; 21 } 22 if(flag) 23 result.add(words[i]); 24 } 25 return result.toArray(new String[0]); 26 27 }
以上是关于3.Keyboard Row的主要内容,如果未能解决你的问题,请参考以下文章
将片段中的Firebase信息检索到recyclerview中