public class Solution {
public String[] findWords(String[] words) {
List<String> sl = new ArrayList<String>();
Map<Character, Integer> map = new HashMap<>();
String[] key = {"QWERTYUIOP", "ASDFGHJKL", "ZXCVBNM"};
for (int i = 0; i < key.length; i++) {
char[] arr = key[i].toCharArray();
for (int j = 0; j < arr.length; j++) {
map.put(arr[j], i);
}
}
for (int i = 0; i < words.length; i++) {
if (words.length < 1) continue;
char[] arr = words[i].toUpperCase().toCharArray();
boolean val = true;
int ele = -1;
for (int j = 0; j < arr.length; j++) {
if (!map.containsKey(arr[j])) {
val = false;
break;
}
if (j == 0) {
ele = map.get(arr[j]);
}
else {
if (ele != map.get(arr[j])) {
val = false;
break;
}
}
}if (val) sl.add(words[i]);
}
return sl.toArray(new String[0]);
}
}