94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? public class T94 { public List<Integer> inorderTr ...
分类:
其他好文 时间:
2020-03-20 23:51:43
阅读次数:
64
二叉搜索树中的顺序后继。题意是给一个二叉搜索树和一个节点,请返回这个节点中序遍历的下一个节点。例子, Input: root = [2,1,3], p = 1 Output: 2 Explanation: 1's in-order successor node is 2. Note that bot ...
分类:
其他好文 时间:
2020-03-20 13:12:43
阅读次数:
66
二叉搜索树中第K小的元素。题目即是题意。例子, Example 1: Input: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 Output: 1 Example 2: Input: root = [5,3,6,2,4,null,null,1], k = 3 ...
分类:
其他好文 时间:
2020-03-20 09:21:35
阅读次数:
64
LeetCode 0106. Construct Binary Tree from Inorder and Postorder Traversal从中序与后序遍历序列构造二叉树【Medium】【Python】【二叉树】【递归】 Problem "LeetCode" Given inorder and ...
分类:
编程语言 时间:
2020-03-18 21:58:48
阅读次数:
66
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 返回如下的二叉树: 限制: 0 <= 节点个数 <= 5000 解题思路 1. 根据前序序列的第一个元素建立根结点; 2. 在中序序列中找到该元素,确定根结点的左右子树的中序序 ...
分类:
其他好文 时间:
2020-03-17 19:34:31
阅读次数:
47
1.二叉树遍历的迭代模板 "前序遍历" 前序遍历的顺序是根左右,为了防止破坏树结构,我们将root地址给了tmp,开始只要tmp不空,他一定是根节点或左节点,因为在if语句中我们令tmp = tmp left,因此在if语句中我们把相应的val值给了ans,如果tmp空了,说明左节点遍历完了,我们找 ...
分类:
编程语言 时间:
2020-03-16 09:25:36
阅读次数:
55
大致题意就是给出一个二叉树的先序、中序遍历序列,要求输出二叉树后序遍历的第一个元素。 1 #include<iostream> 2 using namespace std; 3 4 const int maxn = 50010; 5 int n,pre[maxn],in[maxn],flag = 1 ...
分类:
其他好文 时间:
2020-03-15 13:35:31
阅读次数:
60
数组 数组表示二叉树: root left:root 2+1 right:root 2+2 比如 0号节点的左孩子是1 右孩子是2 1号节点的左孩子是3 右孩子是4 2号节点的左孩子是5 右孩子是6 1、定义结构体 2、找树的最小值和最大值的节点位置 3、插入节点 4、判断节点是否存在 5、中序遍历 ...
分类:
编程语言 时间:
2020-03-15 11:45:50
阅读次数:
62
题意描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路 一、暴力解决 分析 可能在二叉树的所有位置,逐个进行分析。 1. 若node的右子树不为空,中序遍历的下一节点是右子树的最左节点。 2. 若no ...
分类:
其他好文 时间:
2020-03-14 23:43:15
阅读次数:
49
一:解题思路 这道题目2种做法。第一种做法就是递归法,第二种就是迭代法。这2种方法的时间复杂度和空间复杂度都为O(n)。 二:完整代码示例 (C++版和Java版) 递归C++: class Solution { public: void preorder(TreeNode* root, vecto ...
分类:
其他好文 时间:
2020-03-14 16:31:41
阅读次数:
46