【leetcode】-701. Binary Search Tree에 데이터를 삽입하여 두 갈래 검색 트리에 삽입

1867 단어 LeetCode

Insert into a Binary Search Tree

  • 제목
  • 귀속
  • python 코드

  • 제목


    Given the root node of a binary search tree (BST) and a value to be inserted into the tree, insert the value into the BST. Return the root node of the BST after the insertion. It is guaranteed that the new value does not exist in the original BST.
    Note that there may exist multiple valid ways for the insertion, as long as the tree remains a BST after insertion. You can return any of them.
    For example,
    Given the tree:
        4
       / \
      2   7
      /    \
     1      3
    

    And the value to insert: 5 You can return this binary search tree:
         4
       /   \
      2     7
     / \   /
    1   3 5
    

    This tree is also valid:
         5
       /   \
      2     7
     / \   
    1   3
         \
          4
    

    Constraints:
    The number of nodes in the given tree will be between 0 and 10^4. Each node will have a unique integer value from 0 to -10^8, inclusive. -10^8 <= val <= 10^8 It’s guaranteed that val does not exist in the original BST.

    차례로 돌아가다


    BST 문제는 루트 결점 값이 왼쪽 결점 값보다 크고 오른쪽 결점 값보다 작은 특성에 따라 귀속 조작할 수 있다.물론 귀속은 모두 꼭대기에서 아래로 계산된 것이다. 나무의 꼭대기는 바로 뿌리 결점이기 때문에 먼저 뿌리 결점의 상황을 판단해야 한다.그리고 좌우 결점을 점차적으로 판단한다.

    python 코드

    # 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: TreeNode, val: int) -> TreeNode:
            if not root:
                return TreeNode(val)
            if root.valval:
                root.left = self.insertIntoBST(root.left,val)
            return root
    

    좋은 웹페이지 즐겨찾기