题解 | #统计农场牛数量#

统计农场牛数量

https://www.nowcoder.com/practice/c18924a6debf437180d77baec91dc586

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 *   public TreeNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param root TreeNode类 
     * @return int整型
     */
    public int countNodes (TreeNode root) {
        if(root == null) return 0;
        TreeNode l = root, r = root;
        int lc = 0, rc = 0;
	  //左边的深度
        while(l != null){
            lc++;
            l = l.left;
        }
	  //右边的深度
        while(r != null){
            rc++;
            r = r.right;
        }
	  //如果左右两边的深度都相等,则该树为完全二叉树
        if(lc == rc) return (int)Math.pow(2,lc)-1; 
        return 1+countNodes(root.left)+countNodes(root.right);
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 18:05
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务