leetcode -- Sum Root to Leaf Numbers -- dfs
来源:互联网 发布:三表联查的sql语句 编辑:程序博客网 时间:2024/06/01 14:07
https://leetcode.com/problems/sum-root-to-leaf-numbers/
思路1
用dfs preorder求就行
class Solution(object): def dfs(self, root, subres, res): if root: if root.left == None and root.right == None: #print subres + str(root.val) res[0] += int(subres + str(root.val)) else: self.dfs(root.left, subres + str(root.val), res) self.dfs(root.right, subres + str(root.val), res) def sumNumbers(self, root): """ :type root: TreeNode :rtype: int """ res = [0] self.dfs(root, '', res) return res[0]
思路2
http://www.cnblogs.com/zuoyuan/p/3721420.html还提供了另一种递归的办法
class Solution: # @param root, a tree node # @return an integer def sum(self, root, preSum):#preSum记录root的父节点到global root的Sum。 if root==None: return 0 preSum = preSum*10 + root.val#这里跟位操作有点像,preSum向左移动一位,然后加上root.val。 if root.left==None and root.right==None: return preSum return self.sum(root.left, preSum)+self.sum(root.right, preSum) def sumNumbers(self, root): return self.sum(root, 0)
0 0
- Leetcode dfs Sum Root to Leaf Numbers
- leetcode -- Sum Root to Leaf Numbers -- dfs
- LeetCode :: Sum Root to Leaf Numbers [tree、dfs]
- leetcode:Sum Root to Leaf Numbers (二叉树的DFS)
- [leetcode][tree][dfs] Sum Root to Leaf Numbers
- DFS Sum Root to Leaf Numbers
- leetcode 86: Sum Root to Leaf Numbers
- [LeetCode] Sum root to leaf numbers
- LeetCode : Sum Root to Leaf Numbers
- [leetcode] Sum Root to Leaf Numbers
- 【leetcode】Sum Root to Leaf Numbers
- LeetCode之sum root to leaf numbers
- leetcode:Sum Root to Leaf Numbers
- [LeetCode]Sum Root to Leaf Numbers
- [Leetcode]Sum Root to Leaf Numbers
- [leetcode]Sum Root to Leaf Numbers
- leetcode Sum Root to Leaf Numbers
- LeetCode-Sum Root to Leaf Numbers
- Java:对象的强、软、弱和虚引用
- 使用@InitBinder 标签对表单数据绑定
- UILabel自适应高度
- Android开源项目解析:PullToRefresh
- 增删值
- leetcode -- Sum Root to Leaf Numbers -- dfs
- 奋战四级!
- IOS多线程系统学习之线程同步与线程通信
- Java并行编程(parallel programming)
- 这条路,是不是应该走下去
- 收起键盘的几种方式
- 【Java】Java中文分词器Ansj的使用
- 使用电脑的好习惯
- 如何给数百万考生的成绩排序