题解 | #二叉搜索树的后序遍历序列#

二叉搜索树的后序遍历序列

https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd

function VerifySquenceOfBST(sequence) {
  // write code here
  if (sequence.length === 0) return false
  if (sequence.length < 3) return true;
  const root = sequence[sequence.length - 1]

  let leftEnd = 0
  while (sequence[leftEnd] < root) {
      leftEnd++
  }
  let rightStart = sequence.length - 2
  while (sequence[rightStart] > root) {
      rightStart --
  }
  if (leftEnd - 1 !== rightStart) {
    return false
  } else {
      const left = sequence.slice(0, leftEnd)
      const right = sequence.slice(leftEnd, sequence.length - 1)
      return (left.length === 0 || VerifySquenceOfBST(left)) && (right.length === 0 || VerifySquenceOfBST(right))
  }
}
module.exports = {
  VerifySquenceOfBST: VerifySquenceOfBST,
};

全部评论

相关推荐

11-13 20:16
已编辑
厦门理工学院 软件测试
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。 把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等
点赞 评论 收藏
分享
LZStarV:冲就好了,就算真的是字节也冲,面评脏了大不了等三四个月就淡了,而且等到那个时候实力进步了选择还多,何必拘泥于字节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务