![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
换名换一年
学习使我快乐!
展开
-
Java leetcode ------- 559.N叉树的最大深度
N叉树的最大深度1.题目描述2.题目示例3.思路及代码1.题目描述给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。2.题目示例3.思路及代码思路:和求二叉树的最大深度是一样的,不过用到的不是root.left, root.right, 而是root.children代码:/*// Definition for a Node.class Node { public int val; public List<Nod原创 2020-11-18 12:57:21 · 128 阅读 · 0 评论 -
Nowcoder ---- 重建二叉树
重建二叉树1.题目描述2.题目示例3.思路及代码1.题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。2.题目示例3.思路及代码思路:递归根据前序找到根节点根据根节点在中序中找到左右子树依此递归即可代码:/** * Definition for binary tree * pu原创 2020-11-03 19:46:42 · 120 阅读 · 0 评论 -
leetcode 力扣刷题----二叉树的深度
剑指offer55.I.二叉树的深度1.题目描述2.题目示例3.思路及代码1.题目描述输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。2.题目示例3.思路及代码思路:递归代码:class Solution { public int maxDepth(TreeNode root) { if(root == null){ return 0; }原创 2020-10-30 19:26:04 · 143 阅读 · 0 评论 -
Leetcode每日打卡------129.求根到叶子节点数字之和
求根到叶子节点数字之和1.题目描述2.题目示例3.思路及代码1.题目描述给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。2.题目示例3.思路及代码思路:递归,直接看代码,简单易懂代码:/** * Definition for a binary tree node. * public原创 2020-10-29 09:43:49 · 71 阅读 · 0 评论 -
Leetcode 刷题-----144.二叉树的前序遍历(递归+迭代)
144.二叉树的前序遍历1.题目描述2.题目示例3.思路及代码1.题目描述给定一个二叉树,返回它的 前序 遍历。2.题目示例进阶:使用迭代3.思路及代码思路:根据根->左->右的顺序来即可递归:代码:class Solution { List<Integer> list = new ArrayList<>(); public List<Integer> preorderTraversal(TreeNode roo原创 2020-10-27 12:31:39 · 129 阅读 · 0 评论 -
(每日打卡)Leetcode刷题---> 二叉搜索树的最小绝对差
文章目录530.二叉搜索树的最小绝对差1.题目描述2.题目示例3.思路及代码530.二叉搜索树的最小绝对差1.题目描述给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。2.题目示例输入: 1 \ 3 / 2输出:1解释:最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。提示:树中至少有 2 个节点。3.思路及代码思路:利用二叉搜索树中序遍历,二叉搜索树的中序遍历结果是升原创 2020-10-12 19:01:01 · 128 阅读 · 0 评论 -
Leetcode第209场周赛----前两题题解
文章目录T1.5531.特殊数组的特征值1.题目描述2.示例3.思路及代码T2:5532.奇偶数1.题目描述2.示例:3.思路及代码T1.5531.特殊数组的特征值1.题目描述给你一个非负整数数组 nums 。如果存在一个数 x ,使得 nums 中恰好有 x 个元素 大于或者等于 x ,那么就称 nums 是一个特殊数组 ,而 x 是该数组的 特征值 。注意: x 不必 是 nums 的中的元素。如果数组 nums 是一个 特殊数组 ,请返回它的特征值 x 。否则,返回 -1 。可以原创 2020-10-04 15:23:20 · 248 阅读 · 0 评论 -
Leetcode每日打卡20200930----二叉搜索树中的插入操作
文章目录二叉搜索树中的插入操作二叉搜索树中的插入操作给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。例如, 给定二叉搜索树: 4 / \ 2 7 / \ 1 3和 插入的值: 5你可以返回这个二叉搜索树:原创 2020-09-30 21:55:00 · 126 阅读 · 0 评论 -
Leetcode每日打卡------二叉树的后序遍历
文章目录二叉树的后序遍历二叉树的后序遍历给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]思路一:这一题定义为中等题,如果用递归的话,这应该算是一个简单题,先给出一个递归的写法,左右根class Solution { List<Integer> list = new ArrayList<>(); public List<In原创 2020-09-29 20:05:18 · 90 阅读 · 0 评论 -
Leetcode每日打卡---- 20200928 填充每个节点的下一个右侧节点指针 II
文章目录117.填充每个节点的下一个右侧节点指针 II117.填充每个节点的下一个右侧节点指针 II题目链接给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next; }填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用常量级额外空间。 使用递归解题也符合要原创 2020-09-28 16:45:11 · 92 阅读 · 0 评论 -
Leetcode每日打卡----20200927 二叉搜索树的最近公共祖先
文章目录1.二叉搜索树的最近公共祖先1.二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x的深度尽可能大(一个节点也可以是它自己的祖先)。”示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6 解释: 节点 2 和节点 8 的最近公共祖先是 6原创 2020-09-27 13:12:11 · 602 阅读 · 0 评论 -
Leetcode每日打卡----20200926
文章目录1.路径总和II1.路径总和II题目链接给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1原创 2020-09-26 09:56:39 · 69 阅读 · 0 评论 -
Leetcode---每日打卡20200923
文章目录合并二叉树合并二叉树给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 1 2原创 2020-09-23 11:29:59 · 102 阅读 · 0 评论