非递归遍历二叉树借用List实现的,具体实现方法如下。前序遍历非递归代码实现:publicList<Integer>preOrder(TreeNoderoot){List<Integer>list=newArrayList<>();if(root==null){returnlist;}list.add(root.val);//根据前序遍历的特性,先将根节点的值加
分类:
其他好文 时间:
2020-06-09 09:17:36
阅读次数:
64
P1827 [USACO3.4]美国血统 American Heritage 题目描述 农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法。 你的任务是在 ...
分类:
其他好文 时间:
2020-06-05 20:47:49
阅读次数:
76
一、技术总结 这里题目意思就是,知道二叉树的前序遍历和后序遍历怎么知道二叉树的结构,因为我们知道只有知道了中序遍历才可以唯一确定二叉树,所以以上的情况出来的结果可能是不唯一的。 那么我们怎么去确定它是否唯一是一个值得思考的点,我们如果发现先序遍历抛开最开始的根结点后的第一个结点(左子树或则是右子树的 ...
分类:
其他好文 时间:
2020-06-04 20:10:21
阅读次数:
64
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 题目链接:https://www.nowcoder. ...
分类:
其他好文 时间:
2020-06-04 19:47:21
阅读次数:
60
1、求二叉树的最大深度。
2、判断一个二叉树是否是高度平衡的二叉树。
3、根据一棵树的前序遍历与中序遍历构造二叉树
分类:
其他好文 时间:
2020-06-04 11:59:21
阅读次数:
58
思路: 通常我们进行二叉树的遍历(前序遍历、中序遍历和后序遍历)时,不考虑空节点。但有时需要我们将空节点也放入遍历序列中。 由于考虑了空节点,不能再用是否为空作为递归结束的条件。容易想到,只要一个节点非空,并且它的左右叶节点不同时为空,则其左右叶节点均要被遍历。这样我们就得到了考虑空节点的遍历。 以 ...
分类:
其他好文 时间:
2020-05-31 13:09:56
阅读次数:
116
先来一个前序遍历把所有结点存在一个列表中,然后遍历链表,把所有结点用右指针串起来 1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * int val; 5 * TreeNode left; 6 * ...
分类:
其他好文 时间:
2020-05-30 22:05:09
阅读次数:
83
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:前序遍历,第一个节点为二叉树root;中序遍历,左中右, ...
分类:
其他好文 时间:
2020-05-25 17:51:28
阅读次数:
78
因为时间紧和基础薄弱,一刷《剑指Offer》就变成了速看😂。 我按照: 1、看题目思考一会; 2、上网找找关于题目里不懂的知识点; 3、看评论和官方题解的解法,尽量看懂,并及时弄懂不懂的地方; 4、将搜索到的资料和感觉优秀的解法记录在这个博客里。 这四步来完成一刷,之后再仔细二刷。 T07、深入学 ...
分类:
其他好文 时间:
2020-05-23 09:47:57
阅读次数:
366
题目描述 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 我的题解:递归 前序拿到根节点,在中序中找到该节点左边的元素和右边的元素,递归下去. 看了官方的递归解法,思路差不多,更简洁一些: java class Solution { public TreeNode ...
分类:
其他好文 时间:
2020-05-23 09:24:45
阅读次数:
47