반응형
포인트
- 트리에서 자료를 순회하는 방법은 전위, 중위, 후위 순회가 있습니다.
- level-order로 BFS 와 같이 움직이는 것도 또한, 존재합니다.
Binary Tree Inorder Traversal
Binary Tree Preorder Traversal
Binary Tree Postorder Traversal
문제를 풀어보았습니다.
🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다.
python
inorder traverse - 중위 순회
# 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 __init__(self):
self.sel = []
def inorder(self,root: TreeNode):
if root!=None:
self.inorder(root.left)
self.sel.append(root.val)
self.inorder(root.right)
def inorderTraversal(self, root: TreeNode) -> List[int]:
sel = []
self.inorder(root)
return self.sel
preorder traverse - 전위 순회
class Solution:
def __init__(self):
self.sel = []
def preorder(self, root: TreeNode) -> None:
if root != None:
self.sel.append(root.val)
self.preorder(root.left)
self.preorder(root.right)
def preorderTraversal(self, root: TreeNode) -> List[int]:
self.preorder(root)
return self.sel
postorder traverse - 후위 순회
class Solution:
def __init__(self):
self.sel = []
def postorder(self, root: TreeNode) -> None:
if root != None:
self.postorder(root.left)
self.postorder(root.right)
self.sel.append(root.val)
def postorderTraversal(self, root: TreeNode) -> List[int]:
self.postorder(root)
return self.sel
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] 수영장 (0) | 2021.04.05 |
---|---|
[알고리즘] 숫자 만들기 (0) | 2021.04.05 |
[알고리즘] 드래곤 커브 (0) | 2021.04.03 |
[알고리즘] 사다리 조작 (0) | 2021.04.01 |
[알고리즘] Palindrome Linked List (0) | 2021.04.01 |
댓글