Given a List of words, return the words that can be typed using letters of alphabet on only one row's of American keyboard like the image below.
Example 1:
Input: ["Hello", "Alaska", "Dad", "Peace"]
Output: ["Alaska", "Dad"]
My Solution:
public class Solution { public String[] findWords(String[] words) { String q = "[qwertyuiop]+"; String a = "[asdfghjkl]+"; String z = "[zxcvbnm]+"; List<String> list = new ArrayList<String>(); for(int i = 0; i < words.length; i++){ if(words[i].toLowerCase().matches(q) || words[i].toLowerCase().matches(a) || words[i].toLowerCase().matches(z)){ list.add(words[i]); } } String[] arr = new String[list.size()]; return list.toArray(arr); } }