Iam_Sandeep

iterative pre order in order post order

Oct 28th, 2021
598
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
  2.         if not root:
  3.             return []
  4.         s=[root]
  5.         res=[]
  6.         while s:
  7.             t=s.pop()
  8.             if t.left:
  9.                 s.append(t.left)
  10.             if t.right:
  11.                 s.append(t.right)
  12.             res.append(t.val)
  13.         return res[::-1]
  14.     def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
  15.         stack=[]
  16.         result=[]
  17.         cur=root
  18.         while cur or stack:
  19.             while cur:
  20.                 stack.append(cur)
  21.                 cur=cur.left
  22.             cur=stack.pop()
  23.             result.append(cur.val)
  24.             cur=cur.right
  25.         return result
  26.     def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
  27.         if not root:
  28.             return []
  29.         stack=[root]
  30.         result=[]
  31.         while stack:
  32.             t=stack.pop()
  33.             if t.right:stack.append(t.right)
  34.             if t.left:stack.append(t.left)
  35.             result.append(t.val)
  36.         return result
RAW Paste Data