给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。

    假设二叉树中至少有一个节点。

    示例 1:
    image.png
    输入: root = [2,1,3]
    输出: 1
    示例 2:
    输入: [1,2,3,4,null,5,6,null,null,7]
    输出: 7

    1. /**
    2. * Definition for a binary tree node.
    3. * function TreeNode(val, left, right) {
    4. * this.val = (val===undefined ? 0 : val)
    5. * this.left = (left===undefined ? null : left)
    6. * this.right = (right===undefined ? null : right)
    7. * }
    8. */
    9. /**
    10. * @param {TreeNode} root
    11. * @return {number}
    12. */
    13. var findBottomLeftValue = function(root) {
    14. // 记录二叉树的最大深度
    15. let maxDepth = 0;
    16. // 记录递归深度
    17. let depth = 0;
    18. let res = null;
    19. const traverse = (root) => {
    20. if(!root) return;
    21. depth++
    22. // 找最大值
    23. if(depth > maxDepth) {
    24. maxDepth = depth;
    25. res = root;
    26. }
    27. traverse(root.left);
    28. traverse(root.right);
    29. depth--
    30. }
    31. traverse(root)
    32. return res.val
    33. };

    image.png