628. Maximum Subtree
subtree问题,维护一个全局变量,遍历整个tree
class Solution:
"""
@param root: the root of binary tree
@return: the maximum weight node
"""
def __init__(self):
self.maxSum = float("-inf")
self.res = TreeNode(0)
def findSubtree(self, root):
# write your code here
self.traversal(root)
return self.res if root else root
def traversal(self, root):
if not root: return 0
left = self.traversal(root.left)
right = self.traversal(root.right)
curSum = left+right+root.val
if curSum > self.maxSum:
self.maxSum = curSum
self.res = root
return curSum
Last updated
Was this helpful?