소피it블로그
[LeetCode] 94번 Binary Tree Inorder Traversal 문제 풀이 (파이썬) 본문
https://leetcode.com/problems/binary-tree-inorder-traversal/
아직도 dfs-재귀 코드를, 개념적으로는 알겠는데 직접 구현해내는 것은 어렵다. 자꾸 삐걱거리고 이상한 살을 붙여버린다고 해야 할까. 재귀의 끝부분이 완전히 이해되지는 않는 느낌이다. 많이 풀다 보면 나아지려나.
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
output = []
def dfs(node):
if node:
dfs(node.left) # 왼쪽 먼저 탐색해준 후
output.append(node.val) # 현재 val 탐색 후
dfs(node.right) # 오른쪽을 또 탐색해줌
dfs(root)
return output
'CS > 알고리즘 문제풀이' 카테고리의 다른 글
[LeetCode] 2번 Add Two Numbers 문제 풀이 (파이썬) (0) | 2022.09.29 |
---|---|
[LeetCode] 733번 Flood Fill 문제 풀이 (파이썬) (0) | 2022.09.22 |
[LeetCode] 150번 Evaluate Reverse Polish Notation 문제 풀이 (파이썬) (0) | 2022.09.22 |
[LeetCode] 20번 Valid Parentheses 문제 풀이 (파이썬) (2) | 2022.09.22 |
[LeetCode] 200번 Number of Islands 문제 풀이 (파이썬) (1) | 2022.09.21 |