题目链接:https://leetcode.com/problems/find-bottom-left-tree-value/#/description
Given a binary tree, find the leftmost value in the last row of the tree.
Example 1:
Input: 2 / \ 1 3 Output: 1
Example 2:
Input: 1 / \ 2 3 / / \ 4 5 6 / 7 Output: 7
Note: You may assume the tree (i.e., the given root node) is not NULL.
class Solution {
public:
int findBottomLeftValue(TreeNode* root) {
int maxDepth=0;
int leftVal=root->val;
findValue(root,maxDepth,leftVal,0);
return leftVal;
}
void findValue(TreeNode* root,int& maxDepth,int& leftVal,int depth)
{
if(root==NULL)
return;
findValue(root->left,maxDepth,leftVal,depth+1);
findValue(root->right,maxDepth,leftVal,depth+1);
if(depth>maxDepth)
{
maxDepth=depth;
leftVal=root->val;
}
}
};