• 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

  • 相关阅读:
    P6585 中子衰变
    [APIO2020]有趣的旅途
    CF1354F Summoning Minions
    CF1361C Johnny and Megan's Necklace
    CF1368E Ski Accidents
    CF1458C Latin Square
    CF1368F Lamps on a Circle
    用户和组的管理
    Windows命令
    1
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/8260025.html
Copyright © 2020-2023  润新知