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;
    }
};
相关推荐
炽烈小老头1 分钟前
【 每天学习一点算法 2026/05/19】二叉树中的最大路径和
学习·算法
一只旭宝3 分钟前
【C加加入门精讲15】:IO流缓冲区、字符串流、缓冲流及STL vector容器零基础实战教程一、博客前言
开发语言·c++
alwaysrun3 分钟前
C++之高性能跨平台日志库spdlog
c++·后端·编程语言
我不是懒洋洋6 分钟前
手写数字识别:从零实现一个卷积神经网络(CNN)
c++
人道领域6 分钟前
【LeetCode刷题日记】106.从遍历序列重建二叉树:手撕递归边界,彻底搞懂左闭右闭 vs 左闭右开
java·算法·leetcode
.魚肉7 分钟前
Raft 共识算法 · 演示系统(多终端)
算法·go·raft·分布式系统
念恒123067 分钟前
Python(while循环)
数据结构·python·算法
神奇小汤圆13 分钟前
字节面试官:你知道Claude Code的多Agent实现机制吗?
算法
bqq1986102614 分钟前
Redis持久化
数据结构·数据库·redis·缓存
BestOrNothing_201516 分钟前
C++零基础到工程实战(5.1):初识函数—定义调用、参数返回值、栈区内存与变量作用域分析
c++·生命周期·作用域·变量·函数·栈内存