树
文章平均质量分 75
leetcode题目
xiaomingds
这个作者很懒,什么都没留下…
展开
-
线段树-HDU-敌兵布阵
HDU-1166 敌兵布阵 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<iostream> using namespace std; int num[50005]; struct Node { int l,r; int Sum; } Tree[5000005]; void Build(int i,int原创 2020-12-04 17:45:45 · 226 阅读 · 0 评论 -
N叉树的层次遍历-leetcode-429. N叉树的层序遍历
429. N叉树的层序遍历 给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。 例如,给定一个3叉树: [ [1], [3,2,4], [5,6] ] 二叉树的层次遍历升级版,上模板 public List<List<Integer>> levelOrder(Node root) { if(root == null) return new ArrayLi...原创 2020-10-17 11:12:10 · 187 阅读 · 0 评论 -
交换左右孩子-leetcode-226. 翻转二叉树
226. 翻转二叉树 翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 利用层次遍历交换左右结点 public TreeNode invertTree(TreeNode root) { if(root == null) retur...原创 2020-10-16 11:22:57 · 198 阅读 · 0 评论 -
遍历树-leetcode-938. 二叉搜索树的范围和
938. 二叉搜索树的范围和 给定二叉搜索树的根结点root,返回L和R(含)之间的所有结点的值的和。 二叉搜索树保证具有唯一的值。 输入:root = [10,5,15,3,7,null,18], L = 7, R = 15 输出:32 输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10 输出:23 提示: 树中的结点数量最多为10000个。 最终的答案保证小于2^31。 求搜索树中大于L,小于R的结点之和,利用深...原创 2020-10-16 10:34:36 · 133 阅读 · 0 评论 -
完美二叉树-leetcode-116. 填充每个节点的下一个右侧节点指针
116. 填充每个节点的下一个右侧节点指针 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有next 指针都被设置为 NULL。 示例: 输入:{"$id":..原创 2020-10-15 15:19:56 · 144 阅读 · 0 评论 -
二叉搜索树中插入一个数-leetcode-701 . 二叉搜索树中的插入操作
二叉搜索树中的插入操作 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。 1、给定二叉搜索树: 4 / \ 2 7 / \ 1 3 和 插入的值: 5 返回这个二叉搜索树: 4原创 2020-10-14 20:35:56 · 659 阅读 · 0 评论 -
二叉搜索树-leetcode-530. 二叉搜索树的最小绝对差
530. 二叉搜索树的最小绝对差 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。 与上一个验证二叉树类似,只是将两个节点的比较换成两个节点差的绝对值 public int getMinimumDifference(TreeNode root) { int mn = Integ.原创 2020-10-12 21:22:14 · 95 阅读 · 0 评论 -
二叉搜索树-leetcode-98. 验证二叉搜索树
二叉搜索树(BST)是二叉树的一种特殊表示形式,它满足如下特性: 每个节点中的值必须大于(或等于)存储在其左侧子树中的任何值。 每个节点中的值必须小于(或等于)存储在其右子树中的任何值。 对于二叉搜索树,我们可以通过中序遍历得到一个递增的有序序列。因此,中序遍历是二叉搜索树中最常用的遍历方法。 98. 验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树原创 2020-10-12 16:06:34 · 100 阅读 · 0 评论 -
树的遍历应用-112. 路径总和
112. 路径总和 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1 返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。 利用树的层次遍历(BFS),运用两个队列,一个放节点,一原创 2020-10-11 19:55:27 · 122 阅读 · 0 评论 -
树的前、中、后、层次遍历-leetcode
144. 二叉树的前序遍历 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 递归: class Solution { List<Integer>lsit = new ArrayList<>(); public List<Integer> preorderTraversal(TreeNode root) { if(root == nu...原创 2020-10-11 19:19:25 · 122 阅读 · 0 评论