04 2021 档案

摘要:513.找树左下角的值 给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 示例 2: 思路 递归 二叉树左边最大深度的最左边值,就是我们要找的值 定义两个全局静态变量,记录左边的最大深度和记录左边最大深度的值 利用前序遍历的方式,当传入的深度值大于定义的值时,记录下当前的最大深度值 向左子 阅读全文
posted @ 2021-04-15 11:30 胡木杨 阅读(56) 评论(0) 推荐(0)
摘要:404:左叶子之和 计算给定二叉树的所有左叶子之和。 示例: 思路 递归法 递归的遍历顺序为后序遍历(左右中),是因为要通过递归函数的返回值来累加求取左叶子数值之和。 中间结点逻辑的处理 如果该节点的左节点不为空,该节点的左节点的左节点为空,该节点的左节点的右节点为空,则找到了一个左叶子 当遇到左叶 阅读全文
posted @ 2021-04-15 10:41 胡木杨 阅读(21) 评论(0) 推荐(0)
摘要:1、Spring简介 Spring理念 让现有的技术更加容易使用,其本身就是一个大杂烩,整合了现有的技术框架。 Spring优点 Spring是一个轻量级的控制反转(IOC)和面向切向(AOP)编程的框架。 官方下载地址: http://repo.spring.io/release/org/spri 阅读全文
posted @ 2021-04-12 12:07 胡木杨 阅读(90) 评论(0) 推荐(0)
摘要:编号111:二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最小深度 2. 思路 「最小深度是从根节点到最近叶子节点的最 阅读全文
posted @ 2021-04-06 15:03 胡木杨 阅读(77) 评论(0) 推荐(0)
摘要:编号559:N叉树的最大深度 给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 例如,给定一个 3叉树 : 我们应返回其最大深度,3。 思路 跟二叉树的层序遍历相似,当遍历到每一层时,其深度加一 代码 public static int getDept 阅读全文
posted @ 2021-04-05 20:53 胡木杨 阅读(41) 评论(0) 推荐(0)
摘要:编号104:二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 思路 递归实现:先找左子树的最大深度;再找 阅读全文
posted @ 2021-04-03 17:09 胡木杨 阅读(44) 评论(0) 推荐(0)
摘要:101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的。 思路 要判断是否对称,则需要判断根结点的左右子树是否对称,则分别比较两个结点的外侧和内侧。 主要分为三种情况: 当左右子树的结点有一个为空,则不对称;都为空时,则对称; 当左右子树都不为空时,左右结点的值不相等,则不对称 当左右子树均不 阅读全文
posted @ 2021-04-03 17:04 胡木杨 阅读(44) 评论(0) 推荐(0)
摘要:编号226:翻转二叉树 翻转一棵二叉树。 思路: 要实现反转,就是要把每个结点的左右孩子交换一下(孩子下面的结点是一起交换的),需要的是遍历的顺序,递归的中序遍历的方法不可以实现,因为会交换两次。 //利用前序遍历递归实现 public static Node reverseTree(Node ro 阅读全文
posted @ 2021-04-03 16:30 胡木杨 阅读(42) 评论(0) 推荐(0)
摘要:二叉树的层序遍历 利用队列的先进先出的特性,实现二叉树的层序遍历 //# 二叉树的层序正序遍历 public static List<List<Integer>> levelOrder(Node root) { List<List<Integer>> result = new ArrayList<> 阅读全文
posted @ 2021-04-02 17:40 胡木杨 阅读(150) 评论(0) 推荐(0)
摘要:二叉树的迭代遍历 递归的实现底层是栈,所以二叉树的遍历也可以用栈来实现 前序遍历 前序遍历顺序是 中左右 ,每次先处理的是根结点,其次加入右结点和左结点。 //利用栈实现 public static void preOrderRecur2(Node root) { if (root == null) 阅读全文
posted @ 2021-04-02 17:39 胡木杨 阅读(186) 评论(0) 推荐(1)
摘要:二叉树的递归遍历 递归的用法 **确定递归函数的参数和返回值:**在递归过程中需要处理的参数,就在递归函数中加上这个参数;同时明确递归的返回值 确定终止值:必须要有一个终止值,否则会发生栈溢出异常 确定单层逻辑:确定每一层递归需要处理的信息 前序遍历 //递归实现 前序遍历 public stati 阅读全文
posted @ 2021-04-02 09:33 胡木杨 阅读(58) 评论(0) 推荐(0)