題目給定乙個二叉樹,它的每個結點都存放乙個 0-9 的數字,每條從根到葉子節點的路徑都代表乙個數字。
例如,從根到葉子節點路徑 1->2->3 代表數字 123。
計算從根到葉子節點生成的所有數字之和。
說明: 葉子節點是指沒有子節點的節點。
例子示例 1:
輸入: [1,2,3]
1
/ \2 3
輸出: 25解釋:從根到葉子節點路徑 1->2 代表數字 12.
從根到葉子節點路徑 1->3 代表數字 13.
因此,數字總和 = 12 + 13 = 25.
輸入: [4,9,0,5,1]
4
/ \9 0
/ \5 1
輸出: 1026解釋:從根到葉子節點路徑 4->9->5 代表數字 495.
從根到葉子節點路徑 4->9->1 代表數字 491.
從根到葉子節點路徑 4->0 代表數字 40.
因此,數字總和 = 495 + 491 + 40 = 1026.
題目分析
尋找從根結點到葉子的路徑 ⇒ 路徑上的結點排列組成數字
數字求和
解題思路 變數
作用find()
尋找路徑函式
transform()
路徑轉化為整數函式
過程
當前結點加入當前路徑 ⇒ 更新當前路徑和
如果為葉子結點 ⇒ 說明找到一條路徑 ⇒ 新增到路徑集合
如果左子樹不為空 ⇒ 更新左子樹為當前路徑 重複2,3
如果右子樹不為空 ⇒ 更新右子樹為當前路徑 重複2,3
void find(treenode*root, vector>&num, vectorpath)
int transform(vectork)
return sum;
}class solution
return sum;
}};
Leetcode 129 求根到葉子節點數字之和
給定乙個二叉樹,它的每個結點都存放乙個0 9的數字,每條從根到葉子節點的路徑都代表乙個數字。例如,從根到葉子節點路徑1 2 3代表數字123。計算從根到葉子節點生成的所有數字之和。說明 葉子節點是指沒有子節點的節點。示例 1 輸入 1,2,3 1 2 3輸出 25解釋 從根到葉子節點路徑 1 2代表...
Leetcode 129 求根到葉子節點數字之和
給定乙個二叉樹,它的每個結點都存放乙個0 9的數字,每條從根到葉子節點的路徑都代表乙個數字。例如,從根到葉子節點路徑1 2 3代表數字123。計算從根到葉子節點生成的所有數字之和。說明 葉子節點是指沒有子節點的節點。示例 1 輸入 1,2,3 1 2 3輸出 25解釋 從根到葉子節點路徑1 2代表數...
LeetCode 129 求根到葉子節點數字之和
題目描述 提示幫助 提交記錄社群討論閱讀解答 隨機一題 給定乙個二叉樹,它的每個結點都存放乙個0 9的數字,每條從根到葉子節點的路徑都代表乙個數字。例如,從根到葉子節點路徑1 2 3代表數字123。計算從根到葉子節點生成的所有數字之和。說明 葉子節點是指沒有子節點的節點。示例 1 輸入 1,2,3 ...