![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树
某个不会写代码的小傻逼。
这个作者很懒,什么都没留下…
展开
-
Believing Process 力扣Hot208.实现Trie(前缀树)
题干:Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。class Trie{ private Trie[] children; //表示该节点是否为字符串的结尾 private boolean isEnd; public Trie(){ children = new Trie[26];..原创 2022-01-24 17:43:50 · 120 阅读 · 0 评论 -
Believing Process 剑指 Offer 36. 二叉搜索树与双向链表
题干:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。class Solution { Node head,pre; public Node treeToDoublyList(Node root) { if(root==null) return root; dfs(root); head.left = pre; pre.right = head.原创 2021-11-08 16:22:05 · 78 阅读 · 0 评论 -
Believing Process 剑指 Offer 34. 二叉树中和为某一值的路径
题干:给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]class Solution { List<List<Integer>> ans = new ArrayLis.原创 2021-11-06 17:50:45 · 87 阅读 · 0 评论 -
Believing Process 剑指 Offer 26. 树的子结构
题干:输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A:3/ \4 5/ \1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A = [3,4,5,1,2], B...原创 2021-11-02 15:26:30 · 88 阅读 · 0 评论 -
Believing Process 剑指Offer7.重建二叉树
题干:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]class Solution { int[] preorder; HashMap<Integer, Integer> map = new Hash.原创 2021-10-24 17:25:00 · 2025 阅读 · 0 评论 -
Believing Process 力扣109. 有序链表转换二叉搜索树
题干:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / /-10 5class Solution { publ...原创 2021-08-10 15:30:28 · 85 阅读 · 0 评论 -
Believing Process 力扣236.二叉树的最近公共祖先
题干:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”示例:输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出:3解释:节点 5 和节点 1 的最近公共祖先是节点 3 。class Solution { ...原创 2021-08-09 15:33:04 · 68 阅读 · 0 评论 -
Believing Process 力扣637.二叉树的层平均值
题干:给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。示例:输入: 3 / \ 9 20 / \ 15 7输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。class Solution { public List<Double> averageOfLevels(TreeNode root) { ...原创 2021-08-06 15:54:29 · 68 阅读 · 0 评论 -
Believing Process 力扣671.二叉树中第二小的节点
题干:给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为2或0。如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。更正式地说,root.val = min(root.left.val, root.right.val) 总成立。给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。示例:输入:root = [2,2,5,null,null,5,7]输出:5解释:最小的值是 2 ,第二小的值...原创 2021-08-05 17:15:21 · 75 阅读 · 0 评论 -
Believing Process 力扣337.打家劫舍3
题干:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例:输入: [3,2,3,null,3,null,1] 3 / \ 2 3 \ \...原创 2021-08-05 16:18:53 · 90 阅读 · 0 评论 -
Believing Process 力扣687. 最长同值路径
题干:给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值。 这条路径可以经过也可以不经过根节点。注意:两个节点之间的路径长度由它们之间的边数表示。示例:输入: 5 / \ 4 5 / \ \ 1 1 5输出:2class Solution { private int count = 0; public int ...原创 2021-08-03 17:21:12 · 70 阅读 · 0 评论 -
Believing Process 力扣101.对称二叉树
题干:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3class Solution { public boolean isSymmetric(TreeNode root) { if(root==null) return true; return isEQ(root.left,root.right); ...原创 2021-08-02 17:25:05 · 83 阅读 · 0 评论 -
Believing Process 力扣112.路径总和
题干:给你二叉树的根节点root和一个表示目标和的整数targetSum,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。叶子节点是指没有子节点的节点。示例:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:trueclass Solution { public boolean hasPathSum(TreeNo...原创 2021-08-01 17:02:40 · 94 阅读 · 0 评论 -
Believing Process 力扣543.二叉树的直径
题干:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。class Solution { private int max = 0; public int d...原创 2021-08-01 16:16:41 · 66 阅读 · 0 评论