Java算每一條從根節點到葉子節點的路徑的和
阿新 • • 發佈:2021-01-22
技術標籤:簡單小演算法
題目描述
給定一個僅包含數字0−9的二叉樹,每一條從根節點到葉子節點的路徑都可以用一個數字表示。
例如根節點到葉子節點的一條路徑是1→2→3,那麼這條路徑就用123來代替。
找出根節點到葉子節點的所有路徑表示的數字之和
例如:
這顆二叉樹一共有兩條路徑,
根節點到葉子節點的路徑1→2用數字12代替
根節點到葉子節點的路徑 1→3用數字13代替
所以答案為\ 12+13=2512+13=25
示例1
輸入
{1,0}
返回值
10
示例2
輸入
{1,#,9}
返回值
19
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */ public class Solution { int resultVal = 0; /** * * @param root TreeNode類 * @return int整型 */ public int sumNumbers (TreeNode root) { preTree(root); return resultVal; } public void preTree(TreeNode root){ if(root == null){ return; } if(root.left == null && root.right == null){ resultVal += root.val; return; } if(root.left!=null){ root.left.val += root.val*10; } if(root.right!=null){ root.right.val += root.val*10; } preTree(root.left); preTree(root.right); } }