关注
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
相关推荐
牛客热帖
更多
正在热议
更多
# 如何成为1个AI工程师? #
8397次浏览 361人参与
# 你觉得技术面多长时间合理? #
190299次浏览 1231人参与
# 26届春招投递记录 #
44647次浏览 363人参与
# 绿盟笔试 #
6033次浏览 56人参与
# 27届实习投递记录 #
135928次浏览 1482人参与
# 我在大厂见过的最低学历 #
10466次浏览 87人参与
# 你觉得第一学历对求职有影响吗? #
278587次浏览 1504人参与
# 找工作中的小确幸 #
94231次浏览 476人参与
# 秋招拿一个offer可以躺平吗 #
279288次浏览 1418人参与
# 你觉得机械有必要实习吗 #
89927次浏览 540人参与
# 小米编程考试 #
42246次浏览 159人参与
# 如果可以选,你最想从事什么工作 #
829321次浏览 4930人参与
# 面试被问期望薪资时该如何回答 #
407780次浏览 2225人参与
# 机械人,说说你的烦心事 #
152575次浏览 1191人参与
# 工作压力大,你会干什么? #
86903次浏览 726人参与
# 我想去国央企的原因 #
81312次浏览 424人参与
# 选实习,你更看重哪方面? #
84815次浏览 524人参与
# 长得好看会提高面试通过率吗? #
68663次浏览 366人参与
# 机械人你觉得今年行情怎么样? #
10333次浏览 100人参与
# 产品2023笔面经 #
89482次浏览 475人参与