树 513. 找树左下角的值

Posted ocpc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树 513. 找树左下角的值相关的知识,希望对你有一定的参考价值。

题目:

技术图片

 

 

 

解法:

解题思路
中序遍历,使用一个全局遍量记录最大深度,当到达的深度大于目前的最大深度时,为第一次到达该最大深度,更新结果,不超过该深度时,均不会更新。

复杂度
时间复杂度:每个结点访问一次,O(n)O(n)
空间复杂度:不计算调栈,O(1)O(1);计算调栈O(h)O(h),h为最大深度

 1 /**
 2  * Definition for a binary tree node.
 3  * struct TreeNode {
 4  *     int val;
 5  *     TreeNode *left;
 6  *     TreeNode *right;
 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 8  * };
 9  */
10 class Solution {
11 public:
12     int res = 0;
13     int maxlevel = 0;
14 
15     int findBottomLeftValue(TreeNode* root) 
16     {
17         helper(root, 1);
18         return res;
19     }
20 
21     void helper(TreeNode* root, int level)
22     {
23         if(root == NULL) 
24         {
25             return;
26         }
27 
28         helper(root->left, level + 1);
29 
30         if(level > maxlevel)
31         {
32             maxlevel = level;
33             res = root->val;
34         }
35 
36         helper(root->right, level + 1);
37     }
38 };

 

以上是关于树 513. 找树左下角的值的主要内容,如果未能解决你的问题,请参考以下文章

513. 找树左下角的值

513. 找树左下角的值

513. 找树左下角的值

Python描述 LeetCode 513. 找树左下角的值

树 513. 找树左下角的值

Python描述 LeetCode 513. 找树左下角的值