leetcode Solution129

129. Sum Root to Leaf Numbers

 My Submissions
Total Accepted: 77138 Total Submissions: 234445 Difficulty: Medium

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.

An example is the root-to-leaf path 1->2->3 which represents the number 123.

Find the total sum of all root-to-leaf numbers.

For example,

    1
   / \
  2   3

The root-to-leaf path 1->2 represents the number 12.
The root-to-leaf path 1->3 represents the number 13.

Return the sum = 12 + 13 = 25.

Subscribe to see which companies asked this question

用樹的dfs來解決,每次傳入當前結點和到當前結點的數的num值,最後維護一個sum


code:

package leetcode;

public class Solution129 {
    int sum;
    public int sumNumbers(TreeNode root) {
        if(root == null){
            return 0;
        }
        dfs(root,root.val);
        return sum;
    }
    
    public void dfs(TreeNode root,int num) {
        if(root.left == null && root.right == null) {
           sum += num;
        }
        if(root.left != null){
            dfs(root.left,num*10 + root.left.val);
        }
        if(root.right != null){ 
            dfs(root.right,num*10 + root.right.val);
        }
    }
}


發佈了39 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章