Skip to content

Files

Latest commit

6f2cb33 · Sep 23, 2022

History

History

144-BinaryTreePreorderTraversal

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Sep 23, 2022
Sep 23, 2022

Binary Tree Preorder Traversal

Problem can be found in here!

# Definition for a binary tree node.
class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

Solution: Recursion

class Solution:
    def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
        self.result = []
        self.traversalHelper(root)
        return self.result

    def traversalHelper(self, root: Optional[TreeNode]) -> None:
        if not root:
            return

        self.result.append(root.val)
        self.traversalHelper(root.left)
        self.traversalHelper(root.right)

Explanation: Preorfer traversal visits root → left node → right node

Time Complexity: O(n), Space Complexity: O(n)