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

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

    示例 1:

    513找树左下角的值 - 图1

    1. 输入: root = [2,1,3]
    2. 输出: 1

    示例 2:

    513找树左下角的值 - 图2

    1. 输入: [1,2,3,4,null,5,6,null,null,7]
    2. 输出: 7

    提示:

    • 二叉树的节点个数的范围是 [1,104]
    • -231 <= Node.val <= 231 - 1
    1. class Solution {
    2. public:
    3. int findBottomLeftValue(TreeNode* root) {
    4. queue<TreeNode*> que;
    5. if (root != NULL) que.push(root);
    6. int result = 0;
    7. while (!que.empty()) {
    8. int size = que.size();
    9. for (int i = 0; i < size; i++) {
    10. auto node = que.front();
    11. que.pop();
    12. // 记录最后一行第一个元素
    13. //这里的result是会一直变化的,直到最后一行跳出while
    14. if (i == 0) result = node->val;
    15. if (node->left) que.push(node->left);
    16. if (node->right) que.push(node->right);
    17. }
    18. }
    19. return result;
    20. }
    21. };