leetcode 129 求根节点到叶节点数字之和

一、题目描述

二、解题思路

可以采用递归的思想来解决这个问题。

三、代码实现

cpp 复制代码
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    int sumNumbers(TreeNode* root) {
        return dfs(root,0);
    }

    int dfs(TreeNode* root,int presum){
        presum=presum*10+root->val;
        //递归出口(叶子结点)
        if(root->left==nullptr&&root->right==nullptr) return presum;
        int ret=0;
        //处理左子树
        if(root->left) ret+=dfs(root->left,presum);
        //处理右子树
        if(root->right) ret+=dfs(root->right,presum);
        return ret;
    }
};
相关推荐
无限进步_16 分钟前
【C语言&数据结构】对称二叉树:镜像世界的递归探索
c语言·开发语言·数据结构·c++·git·算法·visual studio
X***078822 分钟前
C语言在嵌入式系统开发中的应用与挑战
c++
星辞树25 分钟前
揭秘阿里 DIN:当深度学习遇上“千物千面”
算法
刘立军26 分钟前
如何选择FAISS的索引类型
人工智能·算法·架构
小芒果_0135 分钟前
整理归并排序
c++·算法·排序算法·信息学奥赛
牛三金38 分钟前
匿踪查询沿革-Private Information Retrieval(PIR)
算法·安全
德育处主任39 分钟前
『NAS』在群晖部署一个文件加密工具-hat.sh
前端·算法·docker
星辞树43 分钟前
从 L1/L2 到 Dropout:深度解析正则化,为何推荐系统“只能练一次”?
算法
玖剹1 小时前
队列+宽搜(bfs)
数据结构·c++·算法·leetcode·宽度优先
oioihoii1 小时前
构建高并发AI服务网关:C++与gRPC的工程实践
开发语言·c++·人工智能