二叉树路径和最大python_二叉树路径和(python)

请检查我的密码。我找不到虫子在哪里。问题是here。在

我的解决方案是:# Given a binary tree, find all paths that sum of the nodes in the path equals to a given number target.

#

# A valid path is from root node to any of the leaf nodes.

# Example

# Given a binary tree, and target = 5:

#

# 1

# / \

# 2 4

# / \

# 2 3

# return

#

# [

# [1, 2, 2],

# [1, 4]

# ]

class TreeNode:

def __init__(self, x):

self.val = x

self.left = None

self.right = None

class Solution:

# @param {TreeNode} root the root of binary tree

# @param {int} target an integer

# @return {int[][]} all valid paths

result = []

def binaryTreePathSum(self, root, target):

# Write your code here

if root is None:

return self.result

self.dfs(root, [], target)

return self.result

def dfs(self, node, tmp, target):

tmp.append(node.val)

if node.left is None and node.right is None:

if target == sum(tmp):

#print tmp

self.result.append(tmp)

tmp.pop()

return

if node.left:

self.dfs(node.left, tmp, target)

if node.right:

self.dfs(node.right, tmp, target)

tmp.pop()

if __name__ == "__main__":

root = TreeNode(1)

root.left = TreeNode(2)

root.left.left = TreeNode(2)

root.left.right = TreeNode(3)

root.right = TreeNode(4)

result = Solution().binaryTreePathSum(root, 5)

print result

假设输入是{1,2,4,2,3}, 5。运行解决方案后,输出是[[],[]]。但是如果我取消print tmp,输出将是

^{pr2}$

tmp的输出正确。但似乎result.append(tmp)没有将tmp附加到result中。我不知道问题出在哪里。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值