fork download
  1. # your code goes here
  2. class TreeNode:
  3. def __init__(self, lValue, lLeft=None, lRight=None):
  4. self.Value = lValue
  5. self.Left = lLeft
  6. self.Right = lRight
  7.  
  8. def addNode(root, lVal):
  9. newNode = TreeNode(lVal)
  10. queue = []
  11. queue.append(root)
  12. while(len(queue) > 0):
  13. node = queue.pop(0)
  14. if node.Left is None:
  15. node.Left = newNode
  16. break
  17.  
  18. if node.Right is None:
  19. node.Right = newNode
  20. break
  21.  
  22. queue.append(node.Left)
  23. queue.append(node.Right)
  24.  
  25.  
  26. def createBinaryTree(lList):
  27. binaryTree = None
  28. for i in lList:
  29. if i is not -1:
  30. if binaryTree is not None:
  31. addNode(binaryTree, i)
  32. else:
  33. binaryTree = TreeNode(i)
  34.  
  35. return binaryTree
  36.  
  37. def sum(node):
  38. if node is None:
  39. return 0
  40. lLeftVal = sum(node.Left)
  41. lRightVal = sum(node.Right)
  42.  
  43. return (lLeftVal + lRightVal + node.Value)
  44.  
  45. def solution(binaryTree):
  46. if binaryTree == None:
  47. return ""
  48.  
  49. if( sum(binaryTree.Left) > sum(binaryTree.Right) ):
  50. return "Left"
  51. else:
  52. return "Right"
  53.  
  54.  
  55. def main():
  56. binaryTree = createBinaryTree([3,6,2,9,-1,10])
  57. print(solution(binaryTree))
  58.  
  59. main()
  60.  
Success #stdin #stdout 0.02s 9284KB
stdin
3,6,2,9,-1,10
stdout
Left