关注
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
相关推荐
牛客热帖
更多
正在热议
更多
# 牛客树洞,我想对你说 #
13680次浏览 116人参与
# 大学最后一个寒假,我想…… #
54868次浏览 599人参与
# 快手技术岗信息交流阵地 #
6310次浏览 51人参与
# 如何KTV领导 #
73701次浏览 505人参与
# 牛客周边新品开箱 #
11349次浏览 91人参与
# 机械人集合!你是什么工程师? #
20837次浏览 91人参与
# 硬件人的春招flag #
52614次浏览 435人参与
# 应届生被毁约被毁意向了怎么办 #
47344次浏览 280人参与
# 求职中的尴尬瞬间 #
6003次浏览 49人参与
# 三一集团提前批进度交流 #
39291次浏览 225人参与
# 机械人避雷的岗位/公司 #
29659次浏览 248人参与
# 大疆工作体验 #
19674次浏览 85人参与
# 牛友的志愿填报指南 #
36046次浏览 188人参与
# 国企还是互联网,你怎么选? #
172035次浏览 1305人参与
# 怎么给家人解释你的工作? #
14586次浏览 86人参与
# 得物app工作体验 #
29546次浏览 68人参与
# 你的mentor是什么样的人? #
18455次浏览 117人参与
# 帮我看看,领导说这话什么意思? #
24567次浏览 107人参与
# 今年形式下双非本找得到工作吗 #
239307次浏览 1435人参与
# 产品面经 #
224541次浏览 2066人参与
# 校招泡的最久的公司是哪家? #
15095次浏览 92人参与
查看7道真题和解析