class Solution {
public String[] findWords(String[] words) {
List<String> list = new ArrayList<String>();
for(String str : words){
if(isOK(str)){
list.add(str);
}
}
/* String[] res = new String[list.size()];
int index = 0;
for(String str : list){
res[index++] = str;
}
return res; */
return list.toArray(new String[list.size()]);
}
public boolean isOK(String str){
String s = new String(str.toLowerCase());
if(isBoard1(s)||isBoard2(s)||isBoard3(s)){
return true;
}
return false;
}
public boolean isBoard1(String s){
Set<Character> set1 = new HashSet<Character>();
set1.add('q');
set1.add('w');
set1.add('e');
set1.add('r');
set1.add('t');
set1.add('y');
set1.add('u');
set1.add('i');
set1.add('o');
set1.add('p');
for(int i = 0;i<s.length();i++){
if(!set1.contains(s.charAt(i))){
return false;
}
}
return true;
}
public boolean isBoard2(String s){
Set<Character> set2 = new HashSet<Character>();
set2.add('a');
set2.add('s');
set2.add('d');
set2.add('f');
set2.add('g');
set2.add('h');
set2.add('j');
set2.add('k');
set2.add('l');
for(int i = 0;i<s.length();i++){
if(!set2.contains(s.charAt(i))){
return false;
}
}
return true;
}
public boolean isBoard3(String s){
Set<Character> set3 = new HashSet<Character>();
set3.add('z');
set3.add('x');
set3.add('c');
set3.add('v');
set3.add('b');
set3.add('n');
set3.add('m');
for(int i = 0;i<s.length();i++){
if(!set3.contains(s.charAt(i))){
return false;
}
}
return true;
}
}
List转化为数组使用
list.toArray(new String[ list.size()]);