题目:计算一棵二叉树所有路径组成的数的总和。
思考:也是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 }