剑指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</根<右子树,因此,遍历出来的序列,刚开始是左子树,全都比最后一个根节点小,然后是右子树,全都比最后一个根节点大,所以我们可以利用这个特点来进行解题>

全部评论

相关推荐

职场水母:为啥你们整简历都喜欢整一大堆没用的,是期待让hr觉得很多,自己很厉害吗
0offer是寒冬太冷还...
点赞 评论 收藏
分享
10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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