键盘行
难度:简单
判断字符串数组中的每个字符串是否在键盘的同一行,声明一个字符串数组strs,单个字符串表示键盘上每一行的英文字母(注意大小写),遍历题目中输入的字符数组,记录每个字符串第一个字符在 strs 中所属的字符串,判断后续字符是否也在该字符串中。
代码如下:
static String[] strs = new String[]{"qwertyuiopQWERTYUIOP","asdfghjklASDFGHJKL","zxcvbnmZXCVBNM"};
public String[] findWords(String[] words) {
List<String> list = new ArrayList<>();
int pod = 0;
for (int i = 0; i < words.length; i++) {
int res = -1;
for (int j = 0; j < strs.length; j++) {
if (strs[j].contains(String.valueOf(words[i].charAt(0)))){
res = j;
break;
}
}
boolean flag = true;
for (int j = 1; j < words[i].length(); j++) {
if (!strs[res].contains(String.valueOf(words[i].charAt(j)))){
flag = false;
}
}
if (flag){
list.add(words[i]);
}
}
return list.toArray(new String[list.size()]);
}
执行结果:成功