94. Binary Tree Inorder Traversal
# 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]:
# inorder: dfs 에서,.. 왼쪽, 현재, 오른쪽 순회
# dfs 니깐, stack 이나 재귀로
if not root: # 비어 있으면
return []
# 왼, 현재, 오른쪽
res = []
def dfs(node):
if node.left:
dfs(node.left)
res.append(node.val) # node 아니고, node.val 추가!!
if node.right:
dfs(node.right)
dfs(root)
return res'LeetCode > NeetCode' 카테고리의 다른 글
| [Backtracking: Subset 부분집합] 78. Subsets (0) | 2025.01.19 |
|---|---|
| BFS: 102. Binary Tree Level Order Traversal (0) | 2025.01.16 |
| [DP: Unbounded Knapsack] 983. Minimum Cost For Tickets (0) | 2025.01.13 |
| [DP: Unbounded Knapsack] 518. Coin Change II ★★★★★ (0) | 2025.01.08 |
| [DP: LCS 최장공통수열 Longest Common Subsequence] 115. Distinct Subsequences ★★★ (2) | 2025.01.04 |