104. Maximum Depth of Binary Tree

原创 2016年08月29日 00:15:35

递归

class Solution {
public:
    int maxDepth(TreeNode* root) {
        if(root==0)
            return 0;
        return 1+max(maxDepth(root->left), maxDepth(root->right));/*root!=NULL depth>=1*/
    }
};

DFS

class Solution {
public:
    int maxDepth(TreeNode* root) {
        if(root==NULL)
            return 0;
        stack<TreeNode*> nodes; //save traversal nodes
        int result=0;   //save max depth of node
        nodes.push(root);
        root->val=1;
        while(nodes.size()>0)
        {
            TreeNode* top=nodes.top();
            nodes.pop();
            int curDepth=top->val;
            result=result>curDepth?result:curDepth;
            if(top->left!=NULL)
            {
                nodes.push(top->left);
                top->left->val=curDepth+1;
            }
            if(top->right!=NULL)
            {
                nodes.push(top->right);
                top->right->val=curDepth+1;
            }
        }
        return result;
    }
};

BFS

class Solution {
public:
    int maxDepth(TreeNode* root) {
        if(root==NULL)
            return 0;
        queue<TreeNode*> nodes;
        nodes.push(root);
        root->val=1;
        int result=0;
        while(nodes.size())
        {
            TreeNode *fro=nodes.front();
            int curdepth=fro->val;
            nodes.pop();
            result=result>curdepth?result:curdepth;
            if(fro->left)
            {
                nodes.push(fro->left);
                fro->left->val=curdepth+1;
            }
            if(fro->right)
            {
                nodes.push(fro->right);
                fro->right->val=curdepth+1;
            }
        }
        return result;
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode 104 Maximum Depth of Binary Tree二叉树求深度

Maximum Depth of Binary Tree Total Accepted: 63668 Total Submissions: 141121 My Submissions Ques...
  • wangyaninglm
  • wangyaninglm
  • 2015年05月13日 22:16
  • 3798

【LeetCode-面试算法经典-Java实现】【104-Maximum Depth of Binary Tree(二叉树的最大深度)】

【104-Maximum Depth of Binary Tree(二叉树的最大深度)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a binary tre...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月08日 06:43
  • 2959

LeetCode104——Maximum Depth of Binary Tree

Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the l...
  • booirror
  • booirror
  • 2015年02月05日 15:29
  • 1529

104. Maximum Depth of Binary Tree [easy] (Python)

题目链接https://leetcode.com/problems/maximum-depth-of-binary-tree/题目原文 Given a binary tree, find its ...
  • coder_orz
  • coder_orz
  • 2016年05月07日 13:21
  • 1411

【LeetCode】【Python题解】Single Number & Maximum Depth of Binary Tree

今天做了三道LeetCode上的简单题目,每道题都是用c++和Python两种语言写的,因为c++版的代码网上比较多,所以就只分享一下Python的代码吧,刚学完Python的基本语法,做做LeetC...
  • u011613729
  • u011613729
  • 2014年07月20日 13:18
  • 3638

Maximum Depth of Binary Tree -- LeetCode

原题链接: http://oj.leetcode.com/problems/merge-two-sorted-lists/  这道题目比较简单,经典的链表基本操作。维护两个指针对应两个链表,因为一般会...
  • linhuanmars
  • linhuanmars
  • 2014年02月22日 03:34
  • 12713

【LeetCode】104. Maximum Depth of Binary Tree(DFS|BFS)

原题Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the lon...
  • jiange_zh
  • jiange_zh
  • 2016年01月07日 10:05
  • 797

LeetCode 104 -Maximum Depth of Binary Tree ( JAVA )

Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the l...
  • UckyK
  • UckyK
  • 2016年04月05日 18:27
  • 604

Given a binary tree, find its maximum depth.

Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the l...
  • u010850285
  • u010850285
  • 2014年05月23日 14:21
  • 735

maximum-depth-of-binary-tree(二叉树的最大深度)

maximum-depth-of-binary-tree(二叉树的最大深度)题目:maximum-depth-of-binary-tree Given a binary tree, find it...
  • five0918
  • five0918
  • 2016年09月07日 20:55
  • 438
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:104. Maximum Depth of Binary Tree
举报原因:
原因补充:

(最多只允许输入30个字)