BST 값 추가
# 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 insertIntoBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:
def insert(node, val):
if not node: # 노드 없으면,
return TreeNode(val) # 노드 만들어서 리턴
if val < node.val: # 넣는 값이, 현재 노드값보다 작으면 왼쪽에 삽입
node.left = insert(node.left, val)
elif val > node.val: # 넣는 값이, 현재 노드값보다 크면 오른쪽에 삽입
node.right = insert(node.right, val)
# else: # 현재값과 같으면 <-- 이런 경우 없음,
# It is guaranteed that the new value does not exist in the original BST.
# 기존 값과 같은 같을 추가하지는 않는다고 함
return node
return insert(root, val)
'LeetCode > 주제별 보충' 카테고리의 다른 글
DFS: 94. Binary Tree Inorder Traversal (0) | 2025.01.15 |
---|---|
Depth-First Search : Traversal 순회 (3가지, inorder, preorder, postorder) (0) | 2025.01.15 |
DFS: 111. Minimum Depth of Binary Tree (0) | 2025.01.15 |
DP2D: 63. Unique Paths II (0) | 2024.12.30 |
DP1D: 70. Climbing Stairs (0) | 2024.12.28 |