leetcode_gym/_code/trees/deepestNode.py

38 lines
617 B
Python
Raw Permalink Normal View History

class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def deepestNode(root, level, maxLevel):
if not root:
return maxLevel
if level > maxLevel:
maxLevel = level
leftRes = deepestNode(root.left, level + 1, maxLevel)
rightRes = deepestNode(root.right, level + 1, maxLevel)
if leftRes and rightRes:
return max(leftRes, rightRes)
root = TreeNode(3)
root.left = TreeNode(9)
root.right = TreeNode(20)
root.right.left = TreeNode(15)
root.right.right = TreeNode(7)
print deepestNode(root, 1, 0)