| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- BFS
- graph
- Greedy
- codeup
- nlp
- 파이썬
- 투포인터
- 코드업
- array
- LeetCode
- 니트코드
- dfs
- GenAI
- 파이썬알고리즘
- 슬라이딩윈도우
- Stack
- heap
- 릿코드
- Python
- tree
- 생성형AI
- two-pointer
- SQL
- stratascratch
- 알고리즘
- sql코테
- Python3
- GenerativeAI
- 리트코드
- binary Tree
Archives
- Today
- Total
Tech for good
[Leetcode/Tree, Binary Tree, Stack, DFS] 94. Binary Tree Inorder Traversal 본문
IT/Computer Science
[Leetcode/Tree, Binary Tree, Stack, DFS] 94. Binary Tree Inorder Traversal
Diana Kang 2025. 7. 24. 05:10

Tree > Traversal
1. DFS => Recursion (using self; recursive) or Stack (iterative)
- Pre-order: Root -> Left -> Right
- In-order: Left -> Root -> Right
- Post-order: Left -> Right -> Root
# 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
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
if not root:
return []
left = self.inorderTraversal(root.left) # [4, 2, 6, 5, 7]
curr = [root.val] # [1]
right = self.inorderTraversal(root.right) # [3, 9, 8]
return left + curr + right
2. BFS => Queue
- Level-order: After visiting nodes on the same level, then visit the next levels.