LeetCode 129.求根节点到叶节点数字之和

题目

给你一个二叉树的根节点 root ,树中每个节点都存放有一个 09 之间的数字。

每条从根节点到叶节点的路径都代表一个数字:

  • 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123

计算从根节点到叶节点生成的 所有数字之和

叶节点 是指没有子节点的节点。

思路

代码

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

    private int dfs(TreeNode root, int x) {
        if (root == null) {
            return 0;
        }
        x = x * 10 + root.val;
        if (root.left == root.right) { // root 是叶子节点
            return x;
        }
        return dfs(root.left, x) + dfs(root.right, x);
    }
}

性能

时间复杂度o(n)

空间复杂度o(n)

相关推荐
小墨&晓末9 分钟前
【PythonGui实战】自动摇号小程序
python·算法·小程序·系统安全
落魄君子1 小时前
SVM分类-支持向量机(Support Vector Machine)
神经网络·算法·支持向量机·分类
小王爱吃月亮糖1 小时前
补充--C++的项目结构和管理
数据结构·c++·笔记·学习
上理考研周导师2 小时前
【单片机原理】第1章 微机基础知识,运算器,控制器,寄存器,微机工作过程,数制转换
算法
IT猿手3 小时前
基于PWLCM混沌映射的麋鹿群优化算法(Elk herd optimizer,EHO)的多无人机协同路径规划,MATLAB代码
算法·elk·机器学习·matlab·无人机·聚类·强化学习
m0_675988238 小时前
Leetcode2545:根据第 K 场考试的分数排序
python·算法·leetcode
破-风8 小时前
leetcode---mysql
算法·leetcode·职场和发展
Wils0nEdwards8 小时前
Leetcode 合并两个有序链表
算法·leetcode·链表
eternal__day10 小时前
数据结构十大排序之(冒泡,快排,并归)
java·数据结构·算法
姚先生9710 小时前
LeetCode 35. 搜索插入位置 (C++实现)
c++·算法·leetcode