博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode OJ:Sum Root to Leaf Numbers(根到叶节点数字之和)
阅读量:6519 次
发布时间:2019-06-24

本文共 1284 字,大约阅读时间需要 4 分钟。

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 sumNumbers(TreeNode* root) { 4         dfs(root, 0); 5     } 6  7     int dfs(TreeNode * root, int curr){ 8         if(!root) 9             return 0;10         if(!root->left && !root->right)11             return curr * 10 + root->val;12         return dfs(root->left, curr    * 10 + root->val) + dfs(root->right, curr * 10 + root->val);13     }14 };

java版本的代码如下所示:

1 public class Solution { 2     public int sumNumbers(TreeNode root) { 3         return dfs(root, 0); 4     } 5  6     public int dfs(TreeNode root, int curr){ 7         if(root == null) 8             return 0; 9         if(root.left == null && root.right == null)10             return curr * 10 + root.val;11         return dfs(root.left, curr * 10 + root.val) + dfs(root.right, curr * 10 + root.val);12     }13 }

 

转载于:https://www.cnblogs.com/-wang-cheng/p/4910721.html

你可能感兴趣的文章
23种设计模式(15):备忘录模式
查看>>
java基础学习总结——IO流
查看>>
iOS获取APP ipa 包以及资源文件
查看>>
类加载器总结
查看>>
[1298]活动选择 山东理工OJ
查看>>
Go语言中通过结构体匿名字段实现方法的继承和重载
查看>>
LOJ 117 有源汇有上下界最小流
查看>>
数组遍历——Vue.js
查看>>
IBATIS 写BLOB字段遇到的问题
查看>>
Java集合--Map
查看>>
Dev gridControl 按回车增加一行
查看>>
Reapte控件的使用
查看>>
模拟手指或者鼠标单击和双击
查看>>
修改版的echojs支持iScroll
查看>>
20181023-2 贡献分配
查看>>
CentOS 7 关闭启动防火墙
查看>>
Vue-选项卡切换
查看>>
linux网络命令
查看>>
nodejs ejs 请求路径和静态资源文件路径
查看>>
4.1 State Snapshot Transfer
查看>>