Skip to main content

🟢 剑指 Offer II 034. 外星语言是否排序

LeetCode 提示

题目难度 简单

原题链接 🔗 leetcode

解析 index.md#

偷懒用了js,实话实说js的排序方法还是比python的好用。

再偷懒直接用了自带的sort方法。虽然时间复杂度是logN不过实际上还是会有冗余的步骤。

题解 1.js#

/** * @param {string[]} words * @param {string} order * @return {boolean} */ var isAlienSorted = function(words, order) {  const orderMap = {};  order.split('').forEach((m, idx) => {      orderMap[m] = idx;  })
  const swords = [...words].sort((a, b) => {      let i = 0;      while (a[i] && b[i]) {          if (a[i] !== b[i]) {              return orderMap[a[i]] - orderMap[b[i]];          }          i += 1;      }      if (!a[i] && !b[i]) {          return 0;      }      if (!a[i]) {          return -1;      }      return 1;  })
  for (let i=0; i<swords.length; i+=1) {      if (swords[i] !== words[i]) {          return false;      }  }
  return true;};