题目介绍 给定正整数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
LeetCode 117 填充每个节点的下一个右侧节点 问题描述: 给定一个二叉树 struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 ...
分类:
其他好文 时间:
2020-10-09 20:50:04
阅读次数:
18
103. 二叉树的锯齿形层次遍历 锯齿形层次遍历,思路与二叉树的层次遍历相同,稍微做点改动,区别在于此处使用的是双端队列,分别从前到后和从后到前地遍历二叉树。代码如下 vector<vector<int>> zigzagLevelOrder(TreeNode* root) { deque<TreeN ...
分类:
其他好文 时间:
2020-10-06 19:57:09
阅读次数:
25
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 Tree 2 1 2 ...
分类:
其他好文 时间:
2020-09-24 21:03:04
阅读次数:
47