c++
class Solution {
public:
int max_k = -1, ans;
void dfs(TreeNode *root, int k) {
if (!root) return ;
if (k > max_k) {
ans = root->val;
max_k = k;
}
dfs(root->left, k +1);
dfs(root->right, k + 1);
return ;
}
int findBottomLeftValue(TreeNode* root) {
dfs(root, 0);
return ans;
}
};
js
var findBottomLeftValue = function(root) {
var max_k = -1, ans = 0;
function dfs(root, k) {
if (!root) return ;
if (k > max_k) {
max_k = k;
ans = root.val;
}
dfs(root.left, k + 1);
dfs(root.right, k + 1);
return ;
}
dfs(root, 0);
return ans;
};