给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。
class Solution {
public String[] findWords(String[] words) {
List<String> list = new LinkedList<>();
for(String str : words){
int first = getLine(str.charAt(0));
boolean flag = true;
for(int i = 1; i < str.length(); i++){
if(first != getLine(str.charAt(i))) {
flag = false;
break;
}
}
if(flag){
list.add(str);
}
}
//只是 一个类型标示,用来告诉toArray方法具体转化成什么类型。
return list.toArray(new String[list.size()]);
}
public int getLine(char c){
//将所有大写字母转化为小写字母
char ch = Character.toLowerCase(c);
if("qwertyuiop".indexOf(ch) != -1) return 1;
else if("asdfghjkl".indexOf(ch) != -1) return 2;
else return 3;
}
}