本文最后更新于 2025-03-31T00:09:09+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:
输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7
提示:
二叉树的节点个数的范围是 [1,104] -231 <= Node.val <= 231 - 1
|
题目思路
- 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/