数据结构和算法
[leetcode]94-二叉树的中序遍历
来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、题目描述 给定一个二叉树,返回它的中序遍历。 例如输入: [1 ... 阅读更多
144-二叉树的前序遍历
一、题目描述 给定一个二叉树,返回它的前序遍历结果。 例如输入二叉树 [1,null,2,3]:
|
1 2 3 4 5 |
1 \ 2 / 3 |
输出:
|
1 |
[1,2,3] |
进阶: 递归算法很简单,你可以通过迭代算法完成吗? 二、题解 二 ... 阅读更多
《剑指 offer 》面试题 8:二叉树的下一个节点
一、题目 给定一颗二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左右子节点的指针,还有一个指向父节点的指针。 以下面的二叉树为例,它的中序遍历序列是:[2, 4, 1, 5, 3, 6],节点 4 的下一个节点是 1,节点 3 的下一个节点是 5 。 二、分析 画出上面这棵 ... 阅读更多
graphviz 画二叉树对齐的小技巧
一、问题描述 画二叉树的时候,总是无法对齐圆点得到对称的节点。例如:
|
1 2 3 4 5 6 7 8 9 10 |
graph test { graph [dpi=80] node [shape=circle]; 1 -- 2, 3; 2 -- 4, 5 [color=red,penwidth=3.0]; 3 -- 6, 7 [color=red,penwidth=3.0]; 4 -- 8; } |
画出来的效果: 红色标出来的 4 个线条,长度不一样,子节点看起来不对称,就导致整个二叉树看起来也不够美观。 二、解决方案 可以在子节点中加一个中间节点,把线条的 wei ... 阅读更多
105-从前序与中序遍历序列构造二叉树
来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、题目描 ... 阅读更多
《剑指 offer 》面试题 7:重建二叉树
一、题目 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不包含重复的数字。 例如,输入前序遍历序列 [1, 2, 4, 7, 3, 5, 6, 8] 和中序遍历序列 [4, 7, 2, 1, 5, 3, 8, 6],则重建如下图所示的二叉树并输出它的头结点: ... 阅读更多