129. 求根到叶子节点数字之和(递归

 

 

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    int ans=0;//最后的结果
    public int sumNumbers(TreeNode root) {
        dfs(root,0);
        return ans;
    }
    public void dfs(TreeNode root,int sum)
    {
        if(root==null)return;//根节点为空,直接返回
        int sum1=sum*10+root.val;//如果根节点不为空,则当前这个路径的代表的数字是sum*10+root.val
        if(root.left==null&&root.right==null)//假如到了叶子结点,说明当前路径代表的数字已经找到了,把数字加到最后的结果集合就好
        {
            ans+=sum1;
        }
        dfs(root.left,sum1);
        dfs(root.right,sum1);
    }
}

  

posted @ 2020-05-15 10:11  弓呆的胖次  阅读(163)  评论(0编辑  收藏  举报