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 天前
哈希:以时间换空间的算法实战
算法
QT-Neal1 天前
C++ 编码规范
c++
啦啦啦啦啦zzzz1 天前
数据结构:红黑树理论
数据结构·c++·红黑树
Yolo_TvT1 天前
C++:默认构造函数
c++
San813_LDD1 天前
[数据结构]LeetCode学习
数据结构·算法·图论
x138702859571 天前
c语言排雷游戏(基础版9*9)
c语言·算法·游戏
sheeta19981 天前
LeetCode 每日一题笔记 日期:2026.06.06 题目:2196. 根据描述创建二叉树
笔记·算法·leetcode
小欣加油1 天前
leetcode994 腐烂的橘子
数据结构·c++·算法·leetcode·bfs
.千余1 天前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他