首页 > 代码库 > [leetcode]_Sum Root to Leaf Numbers

[leetcode]_Sum Root to Leaf Numbers

题目:计算一棵二叉树所有路径组成的数的总和。

 

思考:也是DFS的基础应用。虽然还是套着别人的DFS框架写的,但是学习通常会经历先模拟,再创新的过程。

代码:

 1     private int sum = 0;
 2     public int sumNumbers(TreeNode root) {
 3         dfs(root , 0);
 4         return sum;
 5     }
 6     public void dfs(TreeNode node , int tempSum){
 7         if(node == null) return ;
 8         
 9         tempSum = tempSum * 10 + node.val;
10         if(node.left == null && node.right == null)  {
11             sum += tempSum;
12             return;
13         }
14         
15         dfs(node.left , tempSum);
16         dfs(node.right , tempSum);
17     }