0
点赞
收藏
分享

微信扫一扫

每日一题 leetcode 953. 验证外星语词典 java

双井暮色 2022-05-17 阅读 48
java

https://leetcode.cn/problems/verifying-an-alien-dictionary/

class Solution {
    public boolean isAlienSorted(String[] words, String order) {
        HashMap<Character,Integer> map=new HashMap<>();//字符、下标
        for(int i=0;i<order.length();i++){
            map.put(order.charAt(i),i);
        }
        boolean flag=false;
        for(int i=1;i<words.length;i++){
            flag=false;
//逐个比较,单词和前一个单词的每一位
            for(int j=i-1;j<words[i].length()&&j<words[i-1].length();j++){
                int pre=map.get(words[i-1].charAt(j));
                int cur=map.get(words[i].charAt(j));
                if(pre>cur){
                    return false;
                }
                else if(pre<cur){
                    flag=true;
                    break;
                }
            }
            //字母都相同,只有长度不同
            if(!flag){
                if(words[i-1].length()>words[i].length()){
                    return false;
                }
            }
        }
        return true;
    }
}
举报

相关推荐

0 条评论