二叉树的最小深度__无聊
不太想更新这个了,天天刷题浪费时间追妹子啊。
二叉树的最小深度:
二叉树的最小深度_牛客题霸_牛客网 (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);
}