LeetCode 145. Binary Tree Postorder Traversal

Post by ailswan Oct.10, 2023

145. Binary Tree Postorder Traversal

Problem Statement

link: https://leetcode.com/problems/binary-tree-postorder-traversal/ https://leetcode.cn/problems/binary-tree-postorder-traversal/

Given the root of a binary tree, return the postorder traversal of its nodes’ values.

Example:

Input: root = [1,null,2,3] Output: [3,2,1]

Input: root = [] Output: []

Input: root = [1] Output: []

Solution Approach

recursion & deque

Algorithm

Implement

    class Solution:
      def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
          if not root:
              return []
          else:
              return self.postorderTraversal(root.left) + self.postorderTraversal(root.right) + [root.val]
class Solution:
      def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
          stack = [root]
          res = deque([])
          while stack:
              node = stack.pop()
              if node:
                  res.appendleft(node.val)
                  stack.append(node.left)
                  stack.append(node.right)
          return list(res)