• 104. 二叉树的最大深度(层次遍历—使用队列迭代)


    104. 二叉树的最大深度

    题目链接:104. 二叉树的最大深度(简单)

    题目描述

    给定一个二叉树,找出其最大深度。

    二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

    说明: 叶子节点是指没有子节点的节点。

    示例: 给定二叉树 [3,9,20,null,null,15,7]

        3
      / \
    9 20
      / \
      15   7

    返回它的最大深度 3 。

    题解

    思路:二叉树的最大的深度就是它的层数,所以采用层次遍历最合适,再记录下层数即可。

    代码(C++):

    struct TreeNode {
        int val;
        TreeNode* left;
        TreeNode* right;
        TreeNode* next;
        TreeNode(int value) : val(value), left(nullptr), right(nullptr), next(nullptr) {}
    };
    ​
    class Solution {
    public:
        int maxDepth(TreeNode* root) {
            queue<TreeNode*> que;
            if (root != nullptr) que.push(root);
            int maxlevel = 0;
            while (!que.empty()) {
                int size = que.size();
                for (int i = 0; i < size; i++) {
                    TreeNode* node = que.front();
                    que.pop();
                    if (node->left) que.push(node->left);
                    if(node->right) que.push(node->right);
                }
                maxlevel += 1;
            }
            return maxlevel;
        }
    };

    代码(Java):

    class Solution {
        public int maxDepth(TreeNode root) {
            Deque<TreeNode> que = new LinkedList<>();
            if (root != null) que.offer(root);
            int maxlevel = 0;
            while (!que.isEmpty()) {
                int size = que.size();
                for (int i = 0; i < size; i++) {
                    TreeNode node = que.poll();
                    if (node.left != null) que.offer(node.left);
                    if (node.right != null) que.offer(node.right);
                }
                maxlevel += 1;
            }
            return maxlevel;
        }
    }

    分析:

    • 时间复杂度:O(N)

    • 空间复杂度:O(N)

  • 相关阅读:
    ExtJS4学习笔记二--表单控件相关
    Js中replace()的用法
    浅析轮询(Polling)和推送(LongPolling)服务
    ExtJS4学习笔记五--面板使用
    ExtJS4学习笔记四--图片上传
    spring MVC
    ExtJS4学习笔记三--远程访问数据源示例
    Struts 2
    ExtJs4学习笔记一--基础知识
    URL编码规则
  • 原文地址:https://www.cnblogs.com/wltree/p/15614612.html
Copyright © 2020-2023  润新知