题解 | #求路径 #

求路径

http://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358

/**
 * struct TreeNode {
 *    int val;
 *    struct TreeNode *left;
 *    struct TreeNode *right;
 * };
 */

class Solution {
public:
    /**
     * 
     * @param root TreeNode类 
     * @return int整型
     */
    int preOrder(TreeNode* root, int sum) { // sum 存储路径总和
        if(!root)
            return 0;
        sum = sum * 10 + root->val; // 当路径中节点不为空就将节点加入进sum
        if(!root->left && !root->right) // 当当前节点没有子树时,返回当前这一路径的路径和
            return sum;
        return preOrder(root->left, sum) + preOrder(root->right, sum); // 返回左子树路径和 + 右子树路径和
    }
    int sumNumbers(TreeNode* root) {
        // write code here
        int res = 0;
        res = preOrder(root, 0);
        return res;

    }
};
全部评论

相关推荐

勤劳的香菇求被捞求offer:满帮笔试都不给我发 似乎被卡本了
投递满帮集团等公司10个岗位
点赞 评论 收藏
分享
10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务