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