问题:
求二叉树所有结点之和。
思路:
遍历所有结点,将当前结点的值加入最终的结果,再继续遍历其左右结点。
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def Sum(self, root):
"""
:type root: TreeNode
:type sum: int
:rtype: int
"""
if not root:
return 0
else:
return root.val+self.Sum(root.left)+self.Sum(root.right)
计算二叉树中有多少条路径的结点之和,与预定值相同。