LuoJunC

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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);
    }
}

 

posted on 2017-02-21 13:35  LuoJunC  阅读(125)  评论(0编辑  收藏  举报