Verifying an Alien Dictionary
2019-11-24 22:11:30
-
953. Verifying an Alien Dictionary
问题描述:
问题求解:
这种问题有一种解法是建立新的排序和abc排序的映射,将这里的string转成正常的string,然后再使用字符串比较即可。
总的来说还是有点巧妙的。
public boolean isAlienSorted(String[] words, String order) { int n = words.length; Map<Character, Character> map = new HashMap<>(); char[] chs = order.toCharArray(); for (int i = 0; i < 26; i++) { map.put(chs[i], (char)('a' + i)); } String[] strs = new String[n]; int idx = 0; for (String w : words) { StringBuffer sb = new StringBuffer(); for (char c : w.toCharArray()) { sb.append(map.get(c)); } strs[idx++] = sb.toString(); } for (int i = 0; i < n - 1; i++) { String u = strs[i]; String v = strs[i + 1]; if (u.compareTo(v) > 0) return false; } return true; }