Day44 代码随想录打卡|二叉树篇---找树左下角的值

题目(leecode T513):

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

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

方法:本题需要找二叉树左下角的值,因此该节点首先是在最后一行,并且是最左边的节点。因此我们需要找到二叉树的最后一行,这种情况下使用层序遍历是最方便的,因为层序遍历就是对于二叉树进行一层一层的遍历。我们找到最后一行是非常容易的。我们使用层序遍历的架构,然后定义一个result变量,只需在将每一层的节点入队时,保存下第一个节点元素,即用于存放每一层最左边的节点,当遍历完整个树时,result中留下的就是最后一层中最左边的节点。

题解:
 

class Solution {
public:
    int findBottomLeftValue(TreeNode* root) {
        queue<TreeNode*> que;
        if(root != NULL) que.push(root);
        int result = 0;                                       //定义存放结果的变量
        while(!que.empty()){
            int size = que.size();
            for(int i = 0; i < size; i++){
                TreeNode* node = que.front();
                que.pop();
                if(i == 0) result = node -> val;              //将每层的第一个节点存放
                if(node -> left) que.push(node -> left);
                if(node -> right) que.push(node -> right);
            }
        }
        return result;
    }
};

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 20:26:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 20:26:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 20:26:03       82 阅读
  4. Python语言-面向对象

    2024-06-06 20:26:03       91 阅读

热门阅读

  1. 设计模式-中介者模式

    2024-06-06 20:26:03       31 阅读
  2. MySQL如何多表关联更新

    2024-06-06 20:26:03       28 阅读
  3. Ubuntu中安装和配置SSH的完全指南

    2024-06-06 20:26:03       30 阅读
  4. linux实用命令

    2024-06-06 20:26:03       24 阅读
  5. uniapp vue input和textarea 的用法区别,一篇就懂

    2024-06-06 20:26:03       35 阅读
  6. vue2组件封装+elementUI

    2024-06-06 20:26:03       28 阅读
  7. 探索未来科技的前沿:从量子计算到人机融合

    2024-06-06 20:26:03       25 阅读
  8. 一些常用的 ADB(Android Debug Bridge)命令

    2024-06-06 20:26:03       24 阅读
  9. QT窗口类型以及非模态窗口如何显示在顶层

    2024-06-06 20:26:03       26 阅读
  10. Python 变量标签:深入解析其用法与影响

    2024-06-06 20:26:03       29 阅读
  11. AI绘图工具最全汇总--你适合哪一款

    2024-06-06 20:26:03       29 阅读
  12. Go 发送邮件的两种方式

    2024-06-06 20:26:03       28 阅读