欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java輸出二叉樹最大行的和

榮姿康1年前6瀏覽0評論

在Java中,如果要輸出二叉樹中每一行的和,并找出其中的最大值,可以使用以下代碼:

public int maxLevelSum(TreeNode root) {
int result = 0;
int level = 1;
int maxSum = Integer.MIN_VALUE;
Queuequeue = new LinkedList<>();
queue.offer(root);
while (!queue.isEmpty()) {
int levelSize = queue.size();
int levelSum = 0;
for (int i = 0; i< levelSize; i++) {
TreeNode node = queue.poll();
levelSum += node.val;
if (node.left != null) {
queue.offer(node.left);
}
if (node.right != null) {
queue.offer(node.right);
}
}
if (levelSum >maxSum) {
maxSum = levelSum;
result = level;
}
level++;
}
return result;
}

首先,定義一個變量來記錄最大和以及所在的行數(shù),初始值為0。同時定義一個變量來記錄當前的層數(shù),初始值為1。然后創(chuàng)建一個隊列,將二叉樹的根節(jié)點加入隊列中。

接下來,使用while循環(huán)來遍歷二叉樹。在循環(huán)中,首先獲取當前層的節(jié)點數(shù)量,并將該層節(jié)點的值求和。同時,遍歷該層的每個節(jié)點,將其左右子節(jié)點加入隊列中。

然后,比較當前層的和與最大和之間的大小關(guān)系。如果當前層的和大于最大和,則更新最大和和所在的層數(shù)。

最后,返回最大和所在的層數(shù)。