• 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;
        }
    };
  • 相关阅读:
    Grid布局方式
    布局
    应用主题资源
    主题资源
    返回键
    标记 {x:Null},d:DesignWidth,d:DesignHeight
    WMAppManifest.xml
    项目模板
    Panorama和Pivot控件
    ashx页面中context.Session["xxx"]获取不到值的解决办法
  • 原文地址:https://www.cnblogs.com/vercont/p/10210248.html
Copyright © 2020-2023  润新知