剑指offer-23:二叉搜索树的后序遍历序列

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

https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?tpId=13&&tqId=11176&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。(ps:我们约定空树不是二叉搜素树)
示例1:
输入:[4,8,6,12,16,14,10]
返回值:true

思路:
1:后序遍历是左右根,所以核心点是最后的那个根节点
2:设置一个像指针一样的count
3:由于二叉搜索树的性质是,左子树<根<右子树,因此,遍历出来的序列,刚开始是左子树,全都比最后一个根节点小,然后是右子树,全都比最后一个根节点大,所以我们可以利用这个特点来进行解题 ``` function verifysquenceofbst(sequence) { write code here if(!sequence.length) return false let len="sequence.length-1" while(len){ count="0" while(sequence[count]<sequence[len]){ count++ } while(sequence[count]>sequence[len]){
count++
}
if(count</根<右子树,因此,遍历出来的序列,刚开始是左子树,全都比最后一个根节点小,然后是右子树,全都比最后一个根节点大,所以我们可以利用这个特点来进行解题>

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 17:10
什么素质,我请问呢,要掉小珍珠了。。。又憋屈又生气
Steven267:这不喷回去?花钱是大爷,记住这个道理
点赞 评论 收藏
分享
06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 15:58
投个小米提前批试试水,先投一个岗位看看形势,不行就再沉淀一下投第二个岗位,莫辜负
Java抽象带篮子:我嘞个骚刚,已经开始研发6g了吗
投递小米集团等公司7个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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