关注
static int res = 0;
public static void main2(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[][] nums = new int[n][2];
for (int i = 0; i < n; i ++) {
nums[i][0] = in.nextInt();
nums[i][1] = in.nextInt();
}
isFUllTree2(nums, 1);
System.out.println(res);
}
public static int[] isFUllTree2(int[][] nums, int root) {
if (-1 == root) {
return new int[] {0, 1}; // 走到了叶子结点时,高度为0,也是满树
}
int[] left = isFUllTree2(nums, nums[root - 1][0]); // 递归的遍历左子树
int[] right = isFUllTree2(nums, nums[root - 1][1]); // 递归地遍历右子树
int curHeight = Math.max(left[0], right[0]) + 1; // 计算当前结点高度
if (left[0] == right[0] && 1 == left[1] && 1 == right[1]) {
// 如果左右子树的高度相同且都是满树,则当前树也是满树
res++;
return new int[] {curHeight, 1};
} else {
return new int[] {curHeight, 0};
}
}
查看原帖
点赞 4
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找工作能把i人逼成什么样 #
8463次浏览 92人参与
# 大学最后一个寒假,我想…… #
70386次浏览 713人参与
# 百融云创求职进展汇总 #
23782次浏览 181人参与
# 0经验如何找实习? #
20130次浏览 358人参与
# 大家每天通勤多久? #
63145次浏览 407人参与
# 你今年做了几份实习? #
6430次浏览 97人参与
# 度小满求职进展汇总 #
17481次浏览 87人参与
# 大厂面试初体验 #
82472次浏览 373人参与
# 面试尴尬现场 #
202018次浏览 782人参与
# 字节出了豆包coding模型 #
5792次浏览 58人参与
# 你的秋招第一场笔试是哪家 #
274140次浏览 2066人参与
# 双非本科的出路是什么? #
184541次浏览 1481人参与
# 你还有多少年退休? #
29933次浏览 195人参与
# 你开始找寒假实习了吗? #
11536次浏览 171人参与
# 你找工作经历过哪些骗局? #
7255次浏览 120人参与
# AMA #
2716次浏览 17人参与
# 打工人的工作餐日常 #
76219次浏览 520人参与
# 实习越久越好,还是多多益善? #
14454次浏览 143人参与
# 工作两年想退休了 #
201830次浏览 1783人参与
# 25年找工作是什么难度? #
11669次浏览 113人参与
# 一起聊华为 #
166169次浏览 809人参与
查看8道真题和解析