• sum-root-to-leaf-numbers leetcode C++


    Given a binary tree containing digits from0-9only, each root-to-leaf path could represent a number.

    An example is the root-to-leaf path1->2->3which represents the number123.

    Find the total sum of all root-to-leaf numbers.

    For example,

    1
    


    2 3

    The root-to-leaf path1->2represents the number12. The root-to-leaf path1->3represents the number13.

    Return the sum = 12 + 13 =25.

    C++

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int sumNumbers(TreeNode *root){
            if(NULL == root) return 0;
            int sum = 0;
            sum  = getSum(root,0);
            //getSum2(root,0,sum);
            return sum;
        }
        void getSum2(TreeNode *root, int num, int &sum){
            num = num * 10 + root->val;
            if(NULL == root->left && NULL == root->right){
                sum += num;
                return;
            }
            if(root->left)
                getSum2(root->left, num, sum);
            if(root->right)
                getSum2(root->right, num, sum);
        }
        int getSum(TreeNode* root, int num){
            num = num * 10 + root->val;
            if(NULL == root->left && NULL == root->right)
                return num;
            int sum = 0;
            if (NULL != root->left) sum += getSum(root->left,num);
            if (NULL != root->right) sum += getSum(root->right,num);
            return sum;
        }
    };
  • 相关阅读:
    我们怎样确保从大数据计算中获得价值
    大数据恐惧症
    大数据恐惧症
    一文读懂聚类算法
    一文读懂聚类算法
    用Python实现一个大数据搜索引擎
    用Python实现一个大数据搜索引擎
    No mysqld or mysql.server after mariadb-server install
    pip下载默认绕过代理
    linux下解压 tar.bz2
  • 原文地址:https://www.cnblogs.com/vercont/p/10210247.html
Copyright © 2020-2023  润新知