LeetCode 513 找树左下角的值

news/2024/7/20 22:17:52 标签: leetcode, 深度优先, 算法

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-bottom-left-tree-value


题意:

给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。

假设二叉树中至少有一个节点。

示例 1:

输入: root = [2,1,3]
输出: 1

示例 2:

输入: [1,2,3,4,null,5,6,null,null,7]
输出: 7

提示:

二叉树的节点个数的范围是 [1,104]
-231 <= Node.val <= 231 - 1


参考文章

思路:

这道题用层序遍历法很容易就解决了。做了很多二叉树的题,只能说,层序遍历法真的很好用。二叉树的层序遍历可以看这篇文章LeetCode上10道关于二叉树层序遍历的题目,做完基本上就对二叉树的层序遍历写法了然于胸。

这道题在每遍历新的一层的时候把当前层的第一个数记录下来就行了,直到遍历完所有的节点后,当前记录的值就是最后一层的最左边节点的值。

本题Java代码:

class Solution {
	public int findBottomLeftValue(TreeNode root) {
		Deque<TreeNode> deque = new LinkedList<>();
		deque.offer(root);
		int ans = 0;
		while (!deque.isEmpty()) {
			int size = deque.size();
			for (int i = 0; i < size; i++) {
				TreeNode node = deque.poll();
				if (i == 0)//关键代码在这里!!!
					ans = node.val;
				if (node.left != null)
					deque.offer(node.left);
				if (node.right != null)
					deque.offer(node.right);
			}
		}
		return ans;
	}
}

http://www.niftyadmin.cn/n/1803126.html

相关文章

java课程之团队开发冲刺阶段2.10

总结昨天任务&#xff1a; 1.已经完成修改APP等操作 遇到的困难&#xff1a; 1.在不同的Android版本中&#xff0c;APP的图标有出入 今天的任务&#xff1a; 最后一天&#xff0c;怀念一下&#xff0c;第二阶段结束了&#xff0c;课程也进入了尾声。转载于:https://www.cnblogs…

scipy插值与拟合

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/28149195 1.最小二乘拟合 实例1 import numpy as np import matplotlib.pyplot as plt from scipy.optimize import leastsq plt.figure(figsize(9,9)) xnp.linspace(0,10,1000) X np.array([8.19, 2.72, 6.39, 8.71, 4.7, …

LeetCode 112和113 路径总和 路径总和II -- 递归法

文章目录LeetCode 112 路径总和LeetCode 113 路径总和II参考文章 LeetCode 112 路径总和 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/path-sum 题意&#xff1a; 给你二叉树的根节点 root 和一个表示目标和…

vue-devtools/安装vue-devtools

一.在github上下载压缩包&#xff0c;github下载地址&#xff1a;https://github.com/vuejs/vue-devtools 二.解压到本地的某盘 三.用你的npm中进入该文件夹下 在npm中执行命令&#xff1a; 1、$ cnpm install &#xff08;要有一会&#xff09; 2、$ cnpm run build.&#xf…

swagger bug

https://blog.csdn.net/u011943534/article/details/81778125 处理swagger报错Could not resolve pointer: /definitions/List does not exist ###使用swagger2.8.0 ApiImplicitParam dataType是 List的时候 进入swagger-ui.html会报标题那样的错误&#xff0c;将版本升级到最新…

CSS为英文和中文字体分别设置不同的字体

font-family的调用方法: div {font-family:Arial,Times New Roman,Microsoft YaHei,SimHei; font:bold 12px/0.75em Arial,Times New Roman,Microsoft YaHei,SimHei; } 依据font-family的原则,假如客户终端不认识前面的字体,就自己主动切换到另外一种字体,另外一种不认识就…

LeetCode 106 / 105 从中序与后序 / 前序与中序遍历序列构造二叉树

文章目录LeetCode 106 从中序与后序遍历序列构造二叉树LeetCode 105 从前序与中序遍历序列构造二叉树参考文章 LeetCode 106 从中序与后序遍历序列构造二叉树 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/const…

JAVA 练习:计算一个字符串中每个字符的出现次数

/* 练习&#xff1a; 计算一个字符串中每个字符的出现次数 分析&#xff1a; 1&#xff0c;使用Scanner获得用户输入的字符串 2&#xff0c;创建Map集合&#xff0c;kep是字符串的字符&#xff0c;value是字符的个数 3&#xff0c;遍历字符串…