給出一棵二叉樹,其上每個結點的值都是 0 或 1 。每一條從根到葉的路徑都代表乙個從最高有效位開始的二進位制數。
例如,如果路徑為 0 -> 1 -> 1 -> 0 -> 1,那麼它表示二進位制數 01101,也就是 13 。
對樹上的每一片葉子,我們都要找出從根到該葉子的路徑所表示的數字。
返回這些數字之和。題目資料保證答案是乙個 32 位 整數。
示例 1:
1/ \
0 1
/\ /\
0 1 0 1
輸入:root = [1,0,1,0,1,0,1]
輸出:22
解釋:(100) + (101) + (110) + (111) = 4 + 5 + 6 + 7 = 22
示例 2:
輸入:root = [0]
輸出:0
示例 3:
輸入:root = [1]
輸出:1
示例 4:
輸入:root = [1,1]
輸出:3
樹中的結點數介於 1 和 1000 之間。
node.val 為 0 或 1 。
class solution
private void dfs(treenode root,string value)
}private int getsumbylist()
return sum;
}}
class solution
private void dfs(treenode root,int value)
dfs(root.left,value * 2 + root.val);
dfs(root.right,value * 2 + root.val);
}}
class solution
int res = 0;
//維護節點
queuenodequeue = new linkedlist<>();
//維護節點的當前值
queuequeue = new linkedlist<>();
nodequeue.add(root);
queue.add(root.val);
while(!nodequeue.isempty()) else
if(node.right != null)}}
return res;
}}
leetcode1022 從根到葉的二進位制數之和
給出一棵二叉樹,其上每個結點的值都是 0 或 1 每一條從根到葉的路徑都代表乙個從最高有效位開始的二進位制數。例如,如果路徑為 0 1 1 0 1,那麼它表示二進位制數 01101,也就是 13 對樹上的每一片葉子,我們都要找出從根到該葉子的路徑所表示的數字。以 10 9 7 為模,返回這些數字之和...
1022 從根到葉的二進位制數之和
package com.heu.wsq.leetcode.tree 1022.從根到葉的二進位制數之和 author wsq date 2020 12 22 給出一棵二叉樹,其上每個結點的值都是 0 或 1 每一條從根到葉的路徑都代表乙個從最高有效位開始的二進位制數。例如,如果路徑為 0 1 1 0...
1022 從根到葉的二進位制數之和
給出一棵二叉樹,其上每個結點的值都是0或1。每一條從根到葉的路徑都代表乙個從最高有效位開始的二進位制數。例如,如果路徑為0 1 1 0 1,那麼它表示二進位制數01101,也就是13。對樹上的每一片葉子,我們都要找出從根到該葉子的路徑所表示的數字。返回這些數字之和。題目資料保證答案是乙個32 位整數...