区块链技术博客
www.b2bchain.cn

222. 完全二叉树的节点个数

这篇文章主要介绍了222. 完全二叉树的节点个数,通过具体代码讲解8218并且分析了222. 完全二叉树的节点个数的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了222. 完全二叉树的节点个数。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/8218.html。具体如下:

222. 完全二叉树的节点个数

 

222. 完全二叉树的节点个数 

 /**  * Definition for a binary tree node.  * public class TreeNode {  *     int val;  *     TreeNode left;  *     TreeNode right;  *     TreeNode(int x) { val = x; }  * }  */ class Solution {     public int countNodes(TreeNode root) {         if(root==null) return 0;         int left=countNodes(root.left);         int right=countNodes(root.right);         return left+right+1;     }  }

 222. 完全二叉树的节点个数

 /**  * Definition for a binary tree node.  * public class TreeNode {  *     int val;  *     TreeNode left;  *     TreeNode right;  *     TreeNode(int x) { val = x; }  * }  */ class Solution {     public int countNodes(TreeNode root) {        if(root == null)  return 0;         //getDepth求出子树高度         int lDepth = getDepth(root.left);         int rDepth = getDepth(root.right);         //左子树为满二叉树,右子树继续递归         if(lDepth == rDepth){             return (int)Math.pow(2, lDepth) + countNodes(root.right);         }         //左子树继续递归,右子树为满二叉树         else{             return (int)Math.pow(2, rDepth) + countNodes(root.left);         }     }    private  int getDepth(TreeNode root){         int Depth = 0;         while(root!=null){             Depth += 1;             root = root.left;         }         return Depth;     }   }

 

本文地址https://www.b2bchain.cn/8218.html

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 222. 完全二叉树的节点个数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们