色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java求解二叉樹每一層的和

張越彬1年前7瀏覽0評論

Java是一門廣泛應用于各個領域的編程語言,其強大的語言特性讓開發者可以高效的完成各種編程任務。其中,二叉樹是常見的數據結構之一,本文將介紹如何使用Java編寫二叉樹每一層的求和。

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public ListlevelOrder(TreeNode root) {
Listlist = new ArrayList<>();
if (root == null) return list;
Queuequeue = new LinkedList<>();
queue.add(root);
while (!queue.isEmpty()) {
int size = queue.size();
int sum = 0;
for (int i = 0; i< size; i++) {
TreeNode node = queue.poll();
sum += node.val;
if (node.left != null) queue.add(node.left);
if (node.right != null) queue.add(node.right);
}
list.add(sum);
}
return list;
}
}

以上是一段Java代碼,其中定義了一個Solution類,該類包含一個levelOrder方法,其參數為根節點root。該方法首先判斷根節點是否為空,若為空則返回空列表,否則創建一個隊列queue,將根節點加入隊列。然后通過循環遍歷隊列中各個節點,用sum變量記錄每一層節點的和,最后將sum添加到list中返回。

在該方法中,我們使用了一個FIFO隊列來按照層次遍歷二叉樹,對于每一層的節點,我們都將其值加到sum變量中,并將其左右子節點加入隊列中。最后返回所有層的節點和列表。

以上就是關于Java求解二叉樹每一層的和的介紹,希望能對您有所幫助。