思路
一位一位判断,直到不满足返回false,否则返回true。
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Solution { public: bool isAlienSorted(vector<string>& words, string order) { vector<int> orders(26); for(int i=0;i<26;i++) orders[order[i]-'a']=i; for(int i=0;i+1<words.size();i++){ int j=0; for(j=0;j<words[i].length()&&j<words[i+1].length();j++){ if(orders[words[i][j]-'a']>orders[words[i+1][j]-'a']){ return false; }else if(orders[words[i][j]-'a']<orders[words[i+1][j]-'a']){ break; } } if(j<words[i].length()&&j==words[i+1].length()) return false; } return true; } };
|