Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. class Node:
  2. def __init__(self, data):
  3. self.data = data
  4. self.left = None
  5. self.right = None
  6.  
  7. class Solution:
  8. def inorderTraversal(self, root):
  9. stack = []
  10. ans = []
  11. while True:
  12. while root != None:
  13. stack.append(root)
  14. root = root.left
  15. if not stack:
  16. return ans
  17. root = stack.pop()
  18. ans.append(root.data)
  19. root = root.right
  20.  
  21. def inorderTraversalRecursive(self, root):
  22. res = []
  23. self.helper(root, res)
  24. return res
  25.  
  26. def helper(root, ans):
  27. if not root:
  28. return
  29. self.helper(root.left, ans)
  30. ans.append(root.data)
  31. self.helper(root.right, ans)
  32.  
  33.  
  34. # def inorderTraversal(root):
  35. # stack = []
  36. # ans = []
  37. # while True:
  38. # while root != None:
  39. # stack.append(root)
  40. # root = root.left
  41. # if not stack:
  42. # return ans
  43. # root = stack.pop()
  44. # ans.append(root.data)
  45. # root = root.right
  46. #
  47. # def inorderTraversalRecursive(root):
  48. # res = []
  49. # helper(root, res)
  50. # return res
  51. #
  52. # def helper(root, ans):
  53. # if not root:
  54. # return
  55. # helper(root.left, ans)
  56. # ans.append(root.data)
  57. # helper(root.right, ans)
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. def main():
  66. root = Node(10)
  67. root.left = Node(9)
  68. root.right = Node(8)
  69. root.left.left = Node(7)
  70. root.left.right = Node(6)
  71. root.right.left = Node(5)
  72. print(inorderTraversal(root))
  73. print(inorderTraversalRecursive(root))
  74. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement