129. Sum Root to Leaf Numbers(从根节点加到叶子节点的和, 回溯模板)

 

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.

An example is the root-to-leaf path 1->2->3 which represents the number 123.

Find the total sum of all root-to-leaf numbers.

For example,

    1
   / \
  2   3

 

The root-to-leaf path 1->2 represents the number 12.
The root-to-leaf path 1->3 represents the number 13.

Return the sum = 12 + 13 = 25.

 

 

复制代码
 1 class Solution {
 2 public:
 3     int sum;
 4     void backtrack(TreeNode* root, int path) {
 5         if(root == nullptr) return;
 6         if(root->left == nullptr && root->right == nullptr) {
 7             path = path * 10 + root->val;
 8             sum += path;
 9             return;
10         }
11         path = path * 10 + root->val;
12         backtrack(root->left,path);
13         backtrack(root->right,path);
14         path = path/10;
15     }
16     int sumNumbers(TreeNode* root) {
17         backtrack(root,0);
18         return sum;
19     }
20 };
复制代码

 

 

posted @   乐乐章  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
阅读排行:
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· https证书一键自动续期,帮你解放90天限制
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· 推荐几个不错的 Linux 服务器管理工具
· C# 开发工具Visual Studio 介绍
点击右上角即可分享
微信分享提示