Longest ZigZag Path in a Binary Tree LeetCode solution in Python
1# Runtime: 437 ms (Top 91.25%) | Memory: 59.8 MB (Top 86.06%)234class Solution:5def longestZigZag(self, root: Optional[TreeNode]) -> int:6self.res = 078def helper(root):9if root is None:10return -1, -11112leftRight = helper(root.left)[1] + 113rightLeft = helper(root.right)[0] + 114self.res = max(self.res, leftRight, rightLeft)15return leftRight, rightLeft1617helper(root)18return self.res