zoukankan      html  css  js  c++  java
  • 104. Maximum Depth of Binary Tree

    104. Maximum Depth of Binary Tree

    题目

    Given a binary tree, find its maximum depth.
    
    The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
    

    解析

    // Maximum Depth of Binary Tree
    class Solution {
    public:
    
    	// Time Limit Exceeded
    	int maxDepth1(TreeNode *root) {
    
    		if (!root)
    		{
    			return	0;
    		}
    
    		return (maxDepth(root->left) > maxDepth(root->right)) ? (maxDepth(root->left) + 1) : (maxDepth(root->right)+1);
    	}
    
    	// 这样写不会超时
    	int maxDepth(TreeNode* root) {
    		if (root == NULL) 
    			return 0;
    		return max(maxDepth(root->left), maxDepth(root->right)) + 1;
    	}
    	int maxDepth(TreeNode *root)
    	{
    		if (!root)
    		{
    			return 0;
    		}
    		queue<TreeNode*> que;
    		que.push(root);
    
    		int level = 0;
    		while (!que.empty())
    		{
    			int size = que.size();
    			for (int i = 0; i < size;i++)
    			{
    				TreeNode* temp = que.front();
    				que.pop();
    
    				if (temp->left)
    				{
    					que.push(temp->left);
    				}
    				if (temp->right)
    				{
    					que.push(temp->right);
    				}
    			}
    			level++;
    		}
    
    		return level;
    	}
    };
    

    104. Maximum Depth of Binary Tree

  • 相关阅读:
    一、flink架构模型
    每日看点
    argparse模块用法实例
    Python 牛刀小试
    spark 编程基础
    我想过的100种暴富机会
    hadoop大数据架构
    centOS7 ip 配置
    classNotFound异常的一个原因
    linux上部署java项目
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/8260025.html
Copyright © 2011-2022 走看看