1.题目
给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。
美式键盘 中:
- 第一行由字符 “qwertyuiop” 组成。
- 第二行由字符 “asdfghjkl” 组成。
- 第三行由字符 “zxcvbnm” 组成。

示例:
输入:words = ["Hello","Alaska","Dad","Peace"]输出:["Alaska","Dad"]输入:words = ["omk"]输出:[]输入:words = ["adsdf","sfd"]输出:["adsdf","sfd"]
2.思路
没啥好说的,挨个遍历
public String[] findWords(String[] words) {String s1 = "qwertyuiop";String s2 = "asdfghjkl";String s3 = "zxcvbnm";List<String> res = new ArrayList<>();int n1 = 0;int n2 = 0;int n3 = 0;for (String word : words) {String temp = word;word = word.toLowerCase();for (int i = 0; i < word.length(); i++) {if (s1.contains(word.charAt(i) + "")) n1++;if (s2.contains(word.charAt(i) + "")) n2++;if (s3.contains(word.charAt(i) + "")) n3++;}if (n1 == word.length() || n2 == word.length() || n3 == word.length()) {res.add(temp);}n1 = 0; n2 = 0; n3 = 0;}return res.toArray(new String[0]);}
