本文最后更新于 2026-08-10T23:33:41+08:00
题目
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。
假设二叉树中至少有一个节点。
示例 1:
输入: root = [2,1,3] 输出: 1
示例 2:
输入: root = [1,2,3,4,null,5,6,null,null,7] 输出: 7
提示:
二叉树的节点个数的范围是 [1,10^4] -2^31 <= Node.val <= 2^31 - 1
|
题目思路
- DFS 与 BFS 题目,DFS 变式多,BFS 单一,更简单。
题目代码
代码块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
class Solution { public:
int len = INT_MIN; int value; void dfs(TreeNode* root, int deep) { if(root != nullptr) { if(root -> left == nullptr && root -> right == nullptr) { if(deep > len) { len = deep; value = root -> val; } return; } dfs(root -> left, deep + 1); dfs(root -> right, deep + 1); } return; } int findBottomLeftValue(TreeNode* root) { dfs(root, 0); return value; } };
|
复杂度
Day 16 513. 找树左下角的值
https://chaggle.github.io/2021/09/25/leetcode/91-day/day-16-513-find-bottom-left-tree-value/