500. 键盘行
给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。
示例1:
输入: ["Hello", "Alaska", "Dad", "Peace"] 输出: ["Alaska", "Dad"]
解题思路:就是设置三个Boolean类型,如果有两个以及 两个以上 为true,就说明不符合条件
class Solution {
public String[] findWords(String[] words) {
List<String>list=new ArrayList<String>();
String s1="qwertyuiop";
String s2="asdfghjkl";
String s3="zxcvbnm";
for(int i=0;i<words.length;i++)
{
boolean f1=false;
boolean f2=false;
boolean f3=false;
for(int j=0;j<words[i].length();j++)
{
String temp=(words[i].charAt(j)+"").toLowerCase();
if(s1.contains(temp))
f1=true;
if(s2.contains(temp))
f2=true;
if(s3.contains(temp))
f3=true;
}
if(f1&&f2||f1&&f3||f2&&f3)
continue;
else
list.add(words[i]);
}
String []re=new String[list.size()];
int s=0;
for(String w:list)
re[s++]=w;
return re;
}
}