首页 > 其他 > 详细

二叉树——129. 求根节点到叶节点数字之和

时间:2021-04-25 00:04:53      阅读:31      评论:0      收藏:0      [点我收藏+]

二叉树——129. 求根节点到叶节点数字之和

题目:

技术分享图片

思路:

DFS(深度搜索)+回溯

代码:

class Solution {
public:
    int sumNumbers(TreeNode* root) {
        if (!root) return 0;
        int res = 0;
        dfs(root, 0, res);
        return res;
    }

private:
    void dfs(TreeNode* root, int sub, int &res) {
        // sub存的是根到叶子节点的路径和
        // res记录所有路径的和
        if (!root) return;
        // 将root节点加上
        sub = sub * 10 + root->val;
        // 遍历到叶结点了,加到总和中
        if (root->left == root->right) {
            res += sub;
            return;
        }
        // 递归左右节点,这里有sub就相当于回溯了
        dfs(root->left, sub, res);
        dfs(root->right, sub, res);
    }

Rank:

技术分享图片

Tips:

五一休息还是要整理一下树的知识点,还是有点乱,理清一下思路。

二叉树——129. 求根节点到叶节点数字之和

原文:https://www.cnblogs.com/lzyrookie/p/14698090.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!