Verifying an Alien Dictionary

时间:2020-12-08 17:31:02

2019-11-24 22:11:30

  • 953. Verifying an Alien Dictionary

问题描述:

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