当前位置: 首页 > web >正文

(LeetCode 面试经典 150 题) 129. 求根节点到叶节点数字之和 (深度优先搜索dfs)

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

在这里插入图片描述
在这里插入图片描述
思路:深度优先搜索dfs,时间复杂度0(n)。

C++版本:

/*** 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 dfs(TreeNode * root,int u){if(root==nullptr) return 0;if(root->left==nullptr && root->right==nullptr) return u*10+root->val;int sum=0;return dfs(root->left,u*10+root->val)+dfs(root->right,u*10+root->val);}int sumNumbers(TreeNode* root) {return dfs(root,0);}
};

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 {int dfs(TreeNode root,int u){if(root==null) return 0;if(root.left==null && root.right==null) return u*10+root.val;int sum=0;return dfs(root.left,u*10+root.val)+dfs(root.right,u*10+root.val);}public int sumNumbers(TreeNode root) {return dfs(root,0);}
}

GO版本:

/*** Definition for a binary tree node.* type TreeNode struct {*     Val int*     Left *TreeNode*     Right *TreeNode* }*/
func sumNumbers(root *TreeNode) int {return dfs(root,0)
}
func dfs(root *TreeNode,u int) int{if root==nil {return 0}if root.Left==nil &&root.Right==nil {return u*10+root.Val}return dfs(root.Left,u*10+root.Val)+dfs(root.Right,u*10+root.Val);
}
http://www.xdnf.cn/news/18543.html

相关文章:

  • windows中bat脚本中一些操作(一)
  • 面试紧张情绪管理:如何保持冷静自信应对挑战
  • ES_预处理
  • 自定义SamOut模型在随机序列生成任务上超越Transformer
  • DINOv3 重磅发布
  • CLruCache::BucketFromIdentifier函数分析
  • k8s集群限制不同用户操作
  • 基于springboot的中医养生管理系统
  • 机器学习-聚类算法
  • 【算法精练】 哈夫曼编码
  • Kotlin-基础语法练习二
  • 【python】python测试用例模板
  • 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第二章知识点问答(21题)
  • 效果驱动复购!健永科技RFID牛场智能称重项目落地
  • AI资深 Java 研发专家系统解析Java 中常见的 Queue实现类
  • 手机惊魂
  • MySQL高可用之MHA
  • 【智慧城市】2025年中国地质大学(武汉)暑期实训优秀作品(1):智绘旅程构建文旅新基建
  • 稀土元素带来农业科技革命
  • 哈尔滨服务器托管,如何实现高效稳定运行?
  • OBCP第四章 OceanBase SQL 调优学习笔记:通俗解读与实践指南
  • comfyUI背后的一些技术——Checkpoints
  • React:Umi + React + Ant Design Pro的基础上接入Mock数据
  • Unity编辑器相关
  • 基于STM32设计的大棚育苗管理系统(4G+华为云IOT)_265
  • RabbitMQ:技巧汇总
  • 如何用 SolveigMM Video Splitter 从视频中提取 AAC 音频
  • leetcode_238 除自身以外的数组乘积
  • 实践题:智能客服机器人设计
  • 【Dify(v1.x) 核心源码深入解析】prompt 模块