• leetCode(17):Minimum/Maximize depth of binary tree 分类: leetCode 2015-06-21 16:05 146人阅读 评论(0) 收藏


    Given a binary tree, find its minimum depth.

    The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int minDepth(TreeNode* root) {
            queue<TreeNode*> nodes;
        	if(NULL==root)
        		return 0;
        	nodes.push(root);
        	int i=1;//记录深度
        	while(!nodes.empty())
        	{
        		int length=nodes.size();
        		int j=0;
        		
        		while(j<length)
        		{
        			TreeNode* tmpNode=nodes.front();
        			if(!tmpNode->left && !tmpNode->right)
        				return i;//左右子树均为空,直接返回其深度
        			if(tmpNode->left)
        				nodes.push(tmpNode->left);
        			if(tmpNode->right)
        				nodes.push(tmpNode->right);
        					
        			nodes.pop();
        			j++;
        		}
        		
        		i++;
        	}
        	return i;
        }
    };


    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int maxDepth(TreeNode* root) {
            if(NULL==root)
        		return 0;
        	int left=maxDepth(root->left);//先求左右子树的深度
        	int right=maxDepth(root->right);
        	
        	return 1+(left>right?left:right);
        }
    };

    最大最小深度的求法不一样。

  • 相关阅读:
    hdu-4283 You Are the One 区间dp,
    HDU
    HDU
    HDU
    SPOJ
    UESTC
    CodeForces
    HDU
    Git中文书籍
    zeng studio的项目窗口PHP Explorer
  • 原文地址:https://www.cnblogs.com/zclzqbx/p/4687098.html
Copyright © 2020-2023  润新知