旅游目的地网站建设的流程,asp艺术学校网站源码,定期做图书推荐的网站,电脑去哪里建设网站提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣222. 完全二叉树的节点个数 前言 计算二叉树的节点个数#xff0c;计算满二叉树的节点个数#xff0c;计算完全二叉树的节点个数
一、力扣222. 完全… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、力扣222. 完全二叉树的节点个数 前言 计算二叉树的节点个数计算满二叉树的节点个数计算完全二叉树的节点个数
一、力扣222. 完全二叉树的节点个数
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val val;* this.left left;* this.right right;* }* }*/
class Solution {public int countNodes(TreeNode root) {if(root null){return 0;}return 1 countNodes(root.left) countNodes(root.right);}
}更高效的解法
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val val;* this.left left;* this.right right;* }* }*/
class Solution {public int countNodes(TreeNode root) {if(root null){return 0;}TreeNode l root, r root;int low 0, high 0;while(l ! null){l l.left;low ;}while(r ! null){r r.right;high ;}if(low high){return (int)Math.pow(2, low) - 1;}return 1 countNodes(root.left) countNodes(root.right);}
}