【leetcode】-700. Search in a Binary 검색 트리 두 갈래 검색 트리 찾기

1574 단어 LeetCode

Search in a Binary Search Tree

  • 제목
  • 귀속
  • python 코드

  • 제목


    Given the root node of a binary search tree (BST) and a value. You need to find the node in the BST that the node’s value equals the given value. Return the subtree rooted with that node. If such node doesn’t exist, you should return NULL.
    For example,
    Given the tree:
         4
        / \
       2   7
        / \
       1   3
    

    And the value to search: 2
    You should return this subtree:
      2     
     / \   
    1   3
    

    In the example above, if we want to search the value 5, since there is no node with value 5, we should return NULL.
    Note that an empty tree is represented by NULL, therefore you would see the expected output (serialized tree format) as [], not null.

    차례로 돌아가다


    트리에 val이 있는지 찾으려면 먼저 결점부터 비교하고 같으면 두 갈래 트리로 돌아갑니다.만약val이 뿌리 결점 값보다 크면 오른쪽 트리에서 오른쪽 트리를 찾을 수 있음을 나타낸다.만약 val이 루트 결점 값보다 작다면, 설명은 왼쪽 트리에서 왼쪽 트리를 찾을 수 있습니다.

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

    좋은 웹페이지 즐겨찾기