这道题是,从前往后,两两比较两个单词,如果首字母满足order顺序,则true,如果不满足,就对应位置一一比较,直到出现prev < curr -> true或者prev > curr -> false,如果以上说的情况都没有那么说明出现了类似示例 3的情况,就看长短,前面的比后面的长就返回false)
1)外星语也由 26 个英文字母组成,但是字母表顺序不是 "abc...xyz",而是重新排序后的 order。
2)现在给了一些外星语的单词 words,判断 words是不是外星语的字典序。
所谓字典序,以正常的英文字母表为例,见插图的解释:
class Solution {
public:
bool isAlienSorted(vector& words, string order) {
// 用于存储每个word的每个字母在order中的顺序
vector cpr(20, -1);
for(int i=0; i前一个单词的cpr[j]时,则符合字典序,直接更新cpr,然后跳到下一个单词(break)
if(order.find(temp[j])>cpr[j])
{
for(int k=j; k 


