思路:①把“”qwertyuiop“”键成0,"asdfghjkl"键成1,“”zxcvbnm“”键成2
②找到字符串数组的第一个单词的第一个字母的键值(index)
③遍历单词的每一个字母的键值和第一个字母的键值是否相等
④把单词存入ArrayList里,再变成toArray() { res.toArray(new String[res.size()])}
代码:class Solution {
public String[] findWords(String[] words) {
String[] res={"qwertyuiop","asdfghjkl","zxcvbnm"};
Map<Character,Integer> hashmap=new HashMap<>();
for(int i=0;i<res.length;i++){
for(char c:res[i].toCharArray()){
hashmap.put(c,i);
}
}
int index=0;
List<String> adda=new ArrayList<>();
for(String word :words){
index=hashmap.get(word.toLowerCase().toCharArray()[0]);
for(char m:word.toLowerCase().toCharArray()){
if(hashmap.get(m)!=index){
index=-1;
break;
}
}
if(index!=-1) adda.add(word);
}
return adda.toArray(new String[adda.size()]);
}
}