zoukankan      html  css  js  c++  java
  • 算法25 leetcode104 二叉树的最大深度

    没想到BFS和DFS忘得这么快。。
    BFS一个循环两个栈,dfs两个循环一个队列
    递归,试着从后往前想

    题目

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

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

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

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

        3
       / \
      9  20
        /  \
       15   7
    返回它的最大深度 3 。
    

    链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnd69e/
    来源:力扣(LeetCode)

    代码

    递归

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
     *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
     *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
     * };
     */
    
    class Solution {
    public:
        int maxDepth(TreeNode* root) {
               return root==nullptr?0:max(maxDepth(root->left),maxDepth(root->right))+1;
    
            // if(i->left==nullptr&&i->right==nullptr){
            //     return 1;
            // }
            // 
            // num=max(maxDepth(i->left),maxDepth(i->right))+1;
            // return num;
        }
        
    };
    
  • 相关阅读:
    使用基本的socket函数
    ODBC、ADO
    MFC开发ActiveX控件的简介
    MFC线程
    系统API函数实现多线程及线程同步
    IP地址控件
    加速键
    属性页对话框
    Tab控件
    树控件
  • 原文地址:https://www.cnblogs.com/impw/p/15618003.html
Copyright © 2011-2022 走看看