文章讲解:代码随想录
class Solution {
public int maxDepth(TreeNode root) {
if(root == null)
return 0;
int left = maxDepth(root.left)+1;
int right = maxDepth(root.right)+1;
return Math.max(left,right);
}
}
二叉树的最小深度
文章讲解:代码随想录
class Solution {
public int minDepth(TreeNode root) {
if(root == null)
return 0;
int left = Integer.MAX_VALUE;
int right = Integer.MAX_VALUE;
if(root.left!=null && root.right!=null){
left = minDepth(root.left)+1;
right = minDepth(root.right)+1;
}
else if(root.left == null)
right = minDepth(root.right)+1;
else
left = minDepth(root.left)+1;
return Math.min(right,left);
}
}
完全二叉树的节点个数
文章讲解:代码随想录
class Solution {
public int countNodes(TreeNode root) {
if(root == null)
return 0;
int left = 0;
int right = 0;
if(root.left != null && root.right != null){
left = countNodes(root.left);
right = countNodes(root.right);
}else if(root.right != null)
right = countNodes(root.right);
else if(root.left != null)
left = countNodes(root.left);
return left + right+1;
}
}