
전형적인 트리순회에 대한 문제이며, 순회하는 방법은 inorder이다.
재귀방식과 iterate한 방식이 있는데, 순회방법은 stack을 이용하면 좋다
class TreeNode(object):
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Solution(object):
def inorderTraversal(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
res = []
stack = []
curr = root
while stack or root:
if curr :
stack.append(curr)
curr = curr.left
else :
curr = stack.pop()
res.append(curr.val)
curr = curr.right
return res
'Algorithm > 기본 알고리즘' 카테고리의 다른 글
| leetcode 28. Find the index of the First Occurence in a String (0) | 2023.01.21 |
|---|---|
| leetcode 24. Swap Nods in Pairs (0) | 2023.01.21 |
| boj-1931. 회의실배정 (0) | 2023.01.20 |
| boj-5397. 키 로거 (0) | 2023.01.20 |
| boj-7785. 회사에있는사람 (0) | 2023.01.20 |