class Solution { public List<Integer> postorderTraversal(TreeNode root) { //一般解法,前序遍历后,翻转下结果集,注意下 与前序遍历的进栈顺序不一样 //(前序) 根左右 --> 变为 根右左 --> 翻转 左右根 (后续) ...
分类:
其他好文 时间:
2020-10-27 11:40:04
阅读次数:
20
题目介绍 给定正整数n,利用1到n构造所有可能的二叉树,并返回。 Example: Input: 3 Output: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ] Explanation: ...
分类:
其他好文 时间:
2020-10-26 11:19:06
阅读次数:
17
题目介绍 判断给定二叉树是否为一棵二叉搜索树。 Examples: 2 / \ 1 3 Input: [2,1,3] Output: true 5 / \ 1 4 / \ 3 6 Input: [5,1,4,null,null,3,6] Output: false Solution 仅仅使用递归判断 ...
分类:
其他好文 时间:
2020-10-26 11:18:28
阅读次数:
24
题目介绍 给定二叉树,将其原地变成一个链表。 Example: 1 / \ 2 5 / \ \ 3 4 6 1 \ 2 \ 3 \ 4 \ 5 \ 6 Solutions 直观解法 发现链表的结果与先序遍历一致,因此先进行先序遍历,再根据遍历的结果构造链表。 # Definition for a b ...
分类:
其他好文 时间:
2020-10-26 11:17:57
阅读次数:
15
二叉树的后续遍历(Leetcode 145) 数据结构定义: // Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} Tre ...
分类:
其他好文 时间:
2020-10-24 10:25:33
阅读次数:
22
题目 题目 当然,根固定为$1$,但是第一个被点亮的灯不一定是$1$。 做法 这里我只会讲最终做法,但是如果你要问这个结果到底是怎么得到的,其中的心路历程是什么,这篇博客:https://www.luogu.com.cn/blog/MachineryCountry/solution-p4253相信能 ...
分类:
其他好文 时间:
2020-10-20 16:40:42
阅读次数:
36
先序遍历 Stack<TreeNode> stk = new Stack<>(); stk.push(root); while (!stk.empty()) { TreeNode cur = stk.pop(); if (cur != null) { // visit cur stk.push(cu ...
分类:
其他好文 时间:
2020-10-19 22:18:07
阅读次数:
24
import java.util.*; public class TreeRightView { /二叉树的定义/ class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } publ ...
分类:
其他好文 时间:
2020-10-13 17:05:45
阅读次数:
22
线段树 对于维护区间内的信息,我们可使用RMQ,但这种做法的缺点是无法快速修改,而线段树这种数据结构则可以实现实时的查询、修改(单点、区间)。 原理: 线段树是一种二叉搜索树,对于每个节点,他代表区间L~R的信息,而其两个子节点分别代表L~mid、mid+1~R的信息。 建树: 只需要遍历到每个叶子 ...
分类:
其他好文 时间:
2020-10-13 16:58:38
阅读次数:
18
题目链接 530. 二叉搜索树的最小绝对差 题目描述 解题思路 1.利用中序遍历把树转为有序数组,然后在数组上求两个相邻数字的最小值。 2.同样采用中序遍历,可以直接在递归遍历的过程中记录相邻数字的最小值。 3.因为题目给的树是二叉排序树,所以中序遍历的结果一定是一个有序数组,所以两个数的差的最小值 ...
分类:
其他好文 时间:
2020-10-12 20:05:23
阅读次数:
15