ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-09-14 19:30:40  阅读:147  来源: 互联网

标签:sum 路径 NC5 sum1 叶子 二叉树 root 节点


题目描述:给定一个仅包含数字0−9 的二叉树,每一条从根节点到叶子节点的路径都可以用一个数字表示。例如根节点到叶子节点的一条路径是1→2→3,那么这条路径就用123 来代替。
找出根节点到叶子节点的所有路径表示的数字之和

示例:

这颗二叉树一共有两条路径,根节点到叶子节点的路径 1→2 用数字12 代替,根节点到叶子节点的路径1→3 用数字13 代替,所以答案为12+13=25。

解题思路:利用先序遍历二叉树,记录下每一层的路径值,每遍历一个节点,都要重新计算当前结点的值,在叶子节点时则将值保存返回。.

    int sumNumbers(TreeNode* root) {
        // write code here
        int sum = 0,sum1 =0;
        pre(root, sum,sum1);
        return sum1;
    }
    
    void pre(TreeNode* root,int &sum,int &sum1)
    {
        if(root == nullptr)
        {
            return ;
        }
        sum = sum*10 + root->val;
        if(root->left==nullptr&&root->right==nullptr)
            sum1 = sum1 + sum;
        pre(root->left,sum,sum1);
        pre(root->right,sum,sum1);
        sum = (sum - root->val)/10;
    }

标签:sum,路径,NC5,sum1,叶子,二叉树,root,节点
来源: https://blog.csdn.net/pigbossa/article/details/120294497

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有