![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
优化搬运工
这个作者很懒,什么都没留下…
展开
-
Morris 前序遍历
文章目录1. 前期准备2. 题目描述3. 解析4. 代码 1. 前期准备 题目 morris遍历介绍 2. 题目描述 二叉搜索树中的两个节点被错误地交换。 请在不改变其结构的情况下,恢复这棵树。 示例 1: 输入: [1,3,null,null,2] 1 / 3 \ 2 输出: [3,1,null,null,2] 3 / 1 \ 2 示例 2: 输入: [3,1,4,null,null,2] 3 / \ 1 4 / 2 输出: [2原创 2020-06-03 10:22:22 · 378 阅读 · 0 评论 -
Morris 遍历
Morris遍历的规则 假设来到当前节点 cur != null 如果 cur 无左孩子,cur = cur.right 如果 cur 有左孩子,找到左子树的最右节点,记为 cur1 如果 cur1.right == null,让其指针指向 cur,(cur = cur.left) 如果 cur1.right == cur,让其指向空,cur = cur.right 代码: pub...原创 2020-04-26 12:26:38 · 209 阅读 · 0 评论 -
二叉树的遍历与重建
重建二叉树 这里介绍一下用先序-中序,后序-中序遍历结果来构建二叉树的过程。 什么是先序,后序,中序遍历? 首先看一下如下的二叉树结构。 各种遍历的规则: 前序遍历(根左右): 对访问到的每个结点,先访问根结点,然后是左结点,然后是右结点 中序遍历(左根右): 对访问到的每个结点,先访问左结点,然后是根结点,然后是右结点 后序遍历(左右根): 对访问到的每个结点,先访问左结点,然后是右结点,然...原创 2020-04-24 13:00:06 · 276 阅读 · 0 评论