链接力扣104-二叉树的最大深度
思路
class Solution {
public int maxDepth(TreeNode root) {
if(root == null) return 0;
if(root.left == null) return maxDepth(root.right) + 1;
if(root.right == null) return maxDepth(root.left) + 1;
int max = Math.max(maxDepth(root.left),maxDepth(root.right));
return max + 1;
}
}
链接力扣111-二叉树的最小深度
思路文章来源:https://www.toymoban.com/news/detail-624927.html
class Solution {
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;
int min = Math.min(minDepth(root.left),minDepth(root.right));
return min + 1;
}
}
链接力扣222-完全二叉树的节点个数
思路文章来源地址https://www.toymoban.com/news/detail-624927.html
class Solution {
public int countNodes(TreeNode root) {
if(root == null) return 0;
return countNodes(root.left) + countNodes(root.right) + 1;
// if(root == null) return 0;
// // 层序用队列!!!!!
// Queue<TreeNode> queue = new LinkedList<>();
// queue.offer(root);
// // 总结点个数
// int res = 0;
// while(!queue.isEmpty()){
// int size = queue.size();
// while(size-- > 0){
// TreeNode node = queue.poll();
// // 每一层的循环都用res++上
// res++;
// if(node.left != null) queue.offer(node.left);
// if(node.right != null) queue.offer(node.right);
// }
// }
// return res;
}
}
到了这里,关于【算法第十四天7.28】二叉树的最大深度,二叉树的最小深度 ,完全二叉树的节点个数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!