1. 题目
2. 思路
- 将order中的字符与正常26个字母的字典序进行映射;
- 遍历words中的每个word,将每个word还原成正常字典序的单词,再使用比较运算符进行比较即可
3. 代码实现
/**
* @param {string[]} words
* @param {string} order
* @return {boolean}
*/
var isAlienSorted = function(words, order) {
let map = new Map()
for (let i = 0; i < order.length; i++) {
map.set(order[i], String.fromCharCode(97 + i))
}
// return map
for (let j = 0; j < words.length; j++) {
words[j] = [...words[j]].reduce((pre, cur) => pre + map.get(cur), '')
if (j && words[j] < words[j - 1]) return false
}
return true
};