拿你有的,换你要的;这个世界一直如此,很残酷,却很公平!

二叉树的最小深度__无聊

不太想更新这个了,天天刷题浪费时间追妹子啊。

二叉树的最小深度:

二叉树的最小深度_牛客题霸_牛客网 (nowcoder.com)

最大深度:

最大深度是从根节点到最近叶子节点的最长路径上的节点数量。

最小深度:

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

递归思想:

public class TreeDepth{
	//二叉树最大深度
    public int maxDepth(TreeNode root)
        if(root == null){
            return 0;
        }
    return Max.max(max(root.left),maxDepth(root.right))
	
    //最小深度
    public int minDepth(TreeNode root){
        
        if(root == null){
            return 0;
        }
        
        if(root.left == null){
        	return minDepth(root.right)+1;    
        }
        
        if(root.right == null){
        	return minDepth(root.left)+1;    
        }
        
        return Math.min(minDepth(root.left),minDepth(root.right))+1;
        

    }
}
int minDepth(TreeNode* root) {
        if(root == nullptr) {
            return INT_MAX;
        }
        if(root->left == nullptr && root->right == nullptr) {
            return 1;
        }
        int leftDepth = minDepth(root->left);
        int rightDepth = minDepth(root->right);
        int depth = min(leftDepth, rightDepth);    //不会得到depth == INT_MAX的情况
        return depth+1;
    }
    int run(TreeNode* root) {
        if(root == nullptr) {
            return 0;
        }
        return minDepth(root);
    }
posted @ 2022-02-10 13:49  bowuwb  阅读(18)  评论(0编辑  收藏  举报
Fork me on GitHub