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;
    }
原文地址:https://www.cnblogs.com/hyserendipity/p/11924763.html