随笔分类 -  遍历二叉树系列

摘要:124. 二叉树中的最大路径和 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 输入: [1,2,3] 1 / \ 2 3 输出: 6 示例 2: 输入: [-10,9,20,null, 阅读全文
posted @ 2020-04-13 14:07 海绵爱上星 阅读(125) 评论(0) 推荐(0)
摘要:113. 路径总和 II 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 返回: [ [ 阅读全文
posted @ 2020-04-12 17:55 海绵爱上星 阅读(134) 评论(0) 推荐(0)
摘要:96. 不同的二叉搜索树 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3 c 阅读全文
posted @ 2020-04-11 22:51 海绵爱上星 阅读(161) 评论(0) 推荐(0)
摘要:94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] /** * Definition for a binary tree node. * public class TreeNode { * int va 阅读全文
posted @ 2020-04-11 22:26 海绵爱上星 阅读(144) 评论(0) 推荐(0)
摘要:面试题26. 树的子结构 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同 阅读全文
posted @ 2020-04-04 22:41 海绵爱上星 阅读(96) 评论(0) 推荐(0)
摘要:面试题27. 二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3, 阅读全文
posted @ 2020-04-04 22:17 海绵爱上星 阅读(107) 评论(0) 推荐(0)
摘要:面试题32 - III. 从上到下打印二叉树 III 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / 阅读全文
posted @ 2020-04-04 20:53 海绵爱上星 阅读(91) 评论(0) 推荐(0)
摘要:面试题32 - I. 从上到下打印二叉树 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回: [3,9,20,15,7] 提示: 节点总数 <= 1000 clas 阅读全文
posted @ 2020-04-04 00:36 海绵爱上星 阅读(117) 评论(0) 推荐(0)
摘要:面试题34. 二叉树中和为某一值的路径 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 阅读全文
posted @ 2020-04-04 00:06 海绵爱上星 阅读(135) 评论(0) 推荐(0)
摘要:面试题37. 序列化二叉树 请实现两个函数,分别用来序列化和反序列化二叉树。 示例: 你可以将以下二叉树: 1 / \ 2 3 / \ 4 5 序列化为 "[1,2,3,null,null,4,5]" /** * Definition for a binary tree node. * public 阅读全文
posted @ 2020-04-03 21:11 海绵爱上星 阅读(133) 评论(0) 推荐(0)
摘要:面试题54. 二叉搜索树的第k大节点 给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 阅读全文
posted @ 2020-04-03 18:23 海绵爱上星 阅读(122) 评论(0) 推荐(0)
摘要:面试题55 - II. 平衡二叉树 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true 。示例 阅读全文
posted @ 2020-04-03 17:58 海绵爱上星 阅读(145) 评论(0) 推荐(0)
摘要:94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? public class T94 { public List<Integer> inorderTr 阅读全文
posted @ 2020-03-20 23:25 海绵爱上星 阅读(151) 评论(0) 推荐(0)