• 104. 二叉树的最大深度(c++)


    给定一个二叉树,找出其最大深度。
    二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
    说明: 叶子节点是指没有子节点的节点。
    示例:    给定二叉树 [3,9,20,null,null,15,7],
        3
       /
      9  20
        / 
       15   7
    返回它的最大深度 3 。
     
     
     
    定义二叉树
    struct TreeNode{
      int val;
      TreeNode *left;
      TreeNode *right;
      TreeNode(int x) : val(x),left(NULL), right(NULL) {}
    };
    BFS
    class Solution {
    public:
        int maxDepth(TreeNode* root) {
            if(root == NULL)
                return 0;
            int num = 0;
            queue<TreeNode *> que;
            que.push(root);
            while(!que.empty()){
                int n = que.size();
                for(int i = 0;i < n;++i){
                    TreeNode *cur = que.front();
                    if(cur->left != NULL)
                        que.push(cur->left);
                    if(cur->right != NULL)
                        que.push(cur->right);
                    que.pop();
                }
                num++;
            }
            return num;
        }
    };
     
     
  • 相关阅读:
    Bash : 冒泡排序
    Azure Load Balancer : 支持 IPv6
    Azure Load Balancer : 简介
    sudo 与输出重定向
    Linux lsof 命令
    Bash : IO 重定向
    LVM : 快照
    2014年全年总结
    使用Kindle4rss推送自己感兴趣的博文
    换SSD硬盘,重装系统,一阵子忙乱
  • 原文地址:https://www.cnblogs.com/one-think/p/12492205.html
Copyright © 2020-2023  润新知