数据结构和算法
记录数据结构和算法历程
CoffeeAnd
这个作者很懒,什么都没留下…
展开
-
【剑指Offer】【23】输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。思路:一个后序遍历序列,最后一个遍历的结点,是父节点对于二叉搜索树来说,左子树的所有数<父节点<右子树所有数这道题,我们假设是某二叉搜索树的后序遍历的结果去验证,只要任意不符合,则不是如果递归完成后,没有不符合,则是如何区分左右子树呢使用while循环,从当前子序列开始++,当sequence[n]小于sequence[当前子序原创 2020-11-07 22:51:32 · 286 阅读 · 0 评论 -
【剑指Offer】【26】输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路:可以知道,二叉搜索树的中序遍历,得到一个排好序的输出在中序遍历中将当前结点的左孩子指向上一个结点将上一个结点的右孩子只想当前结点中序遍历完成后,二叉搜索树遍转换成了排好序的双向链表public class Solution { public TreeNode Convert(TreeNode pRootOfTree) { if (pRootOfTree原创 2020-11-07 21:39:54 · 153 阅读 · 0 评论