【牛客题霸题解】二叉树根节点到叶子节点的所有路径和

二叉树根节点到叶子节点的所有路径和

http://www.nowcoder.com/practice/185a87cd29eb42049132aed873273e83

c++

class Solution {
public:
    void bfs(TreeNode* root,int add,int &ans)
    {
        if(root==NULL){return;}
        if(root->left==NULL && root->right == NULL)
        {
            add*=10;
            add+=root->val;
            ans+=add;
            return;
        }
        if(root->left!=NULL)
        {
            bfs(root->left,add*10+root->val,ans);
        }
        if(root->right!=NULL)
        {
            bfs(root->right,add*10+root->val,ans);
        }
    }
    int sumNumbers(TreeNode* root) {
        int ans = 0;
        bfs(root,0,ans);
        return ans;
    }
};

java

import java.util.*;



public class Solution {

    public int ans = 0;
    public int sumNumbers (TreeNode root) {
        bfs(root,0);
        return ans;
    }
    public int bfs(TreeNode root,int add)
    {
        if(root==null){return ans;}
        if(root.left==null && root.right == null)
        {
            add=add*10;
            add=add+root.val;
            ans=ans+add;
            return ans;
        }
        if(root.left!=null)
        {
            bfs(root.left,add*10+root.val);
        }
        if(root.right!=null)
        {
            bfs(root.right,add*10+root.val);
        }
        return ans;
    }
}

python

class Solution:
    def sumNumbers(self , root ):
        def bfs(root,ans):
            if not root:
                return 0
            ans = ans*10+root.val
            if not root.left and not root.right:
                return ans
            return bfs(root.left,ans)+bfs(root.right,ans)
        return bfs(root,0)
牛客题霸题解 文章被收录于专栏

QAQ

全部评论

相关推荐

11-06 16:50
门头沟学院 Java
用微笑面对困难:word打字比赛二等奖的我,也要来凑合凑合
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务