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

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

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,
};

全部评论

相关推荐

_mos_:忍耐王
点赞 评论 收藏
分享
05-12 22:16
已编辑
北京邮电大学 研发工程师
牛客30236098...:0offer+1 滴滴都不给我面 佬没投鹅吗,鹅应该很喜欢北邮吧
投递美团等公司10个岗位
点赞 评论 收藏
分享
争当牛马还争不上
码农索隆:1.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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