LeetCoding Challenge Oct.6: Insert Into a Binary Search Tree

5327 단어 JavaLeetCodetech
LetCode October Charling 6일차.
오늘의 문제는Insert Into a Binary Search Tree입니다.

문제의 개요

  • 노드에서 숫자를 유지하는 이분 검색 트리(Binary Search Tree)에 새 숫자 추가
  • 추가할 수치와 같은 값이 2분 검색 트리에 존재하지 않음
  • 생각

  • 이것은 대학의'알고리즘과 데이터 구조'과정의 연습에서 발생할 수 있는 문제이다.🙄
  • C언어가 주류인 시대가 좋다면 언어표준의 운행시간고가 충실한 현대에 이분탐색트리의 자아실시가 절실하다. 얼마나 많은 의문이 들 수 있는지, 이런 문제는 업무에 도움이 되지 않는다...
  • 순수 노드를 만들려면 일반 검색→전진할 하위 노드가 없는 노드를 만났을 때 검색을 끝내고 새로 생성된 노드(TreeNode 대상)를 이 하위 노드로 삽입하면 된다
  • 따라서 accept를 실현하기 쉽다🤗
  • 런타임 0ms이지만 모두 0ms의 속도로 분포도를 완성한 것 같다
  • 코드


    class Solution {
        public TreeNode insertIntoBST(TreeNode root, int val) {
            if (root == null) {
                return new TreeNode(val);
            }
    
            insertRecursive(root, val);
            return root;
        }
    
        void insertRecursive(TreeNode node, int val) {
            if (val < node.val) {
                if (node.left != null) {
                    insertRecursive(node.left, val);
                } else {
                    node.left = new TreeNode(val);
                }
            } else {  // val > node.val
                if (node.right != null) {
                    insertRecursive(node.right, val);
                } else {
                    node.right = new TreeNode(val);
                }
            }
        }
    }
    

    좋은 웹페이지 즐겨찾기