二叉树
优化搬运工
这个作者很懒,什么都没留下…
展开
-
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 · 385 阅读 · 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 · 223 阅读 · 0 评论 -
二叉树的遍历与重建
重建二叉树这里介绍一下用先序-中序,后序-中序遍历结果来构建二叉树的过程。什么是先序,后序,中序遍历?首先看一下如下的二叉树结构。各种遍历的规则:前序遍历(根左右): 对访问到的每个结点,先访问根结点,然后是左结点,然后是右结点中序遍历(左根右): 对访问到的每个结点,先访问左结点,然后是根结点,然后是右结点后序遍历(左右根): 对访问到的每个结点,先访问左结点,然后是右结点,然...原创 2020-04-24 13:00:06 · 312 阅读 · 0 评论