[leetCode刷题笔记]500. Keyboard Row

xiaoxiao2021-02-28  60

public class Solution { public String[] findWords(String[] words) { List<String> sl = new ArrayList<String>(); Map<Character, Integer> map = new HashMap<>(); String[] key = {"QWERTYUIOP", "ASDFGHJKL", "ZXCVBNM"}; for (int i = 0; i < key.length; i++) { char[] arr = key[i].toCharArray(); for (int j = 0; j < arr.length; j++) { map.put(arr[j], i); } } for (int i = 0; i < words.length; i++) { if (words.length < 1) continue; char[] arr = words[i].toUpperCase().toCharArray(); boolean val = true; int ele = -1; for (int j = 0; j < arr.length; j++) { if (!map.containsKey(arr[j])) { val = false; break; } if (j == 0) { ele = map.get(arr[j]); } else { if (ele != map.get(arr[j])) { val = false; break; } } }if (val) sl.add(words[i]); } return sl.toArray(new String[0]); } }
转载请注明原文地址: https://www.6miu.com/read-70983.html

最新回复(0)