Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- public class Solution {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- BinarySearchTree bst = new BinarySearchTree();
- int N = sc.nextInt();
- for (int i = 0; i < N; i++) {
- int data = sc.nextInt();
- bst.insert(data);
- }
- int Q = sc.nextInt();
- for (int i = 0; i < Q; i++) {
- int query = sc.nextInt();
- int parent = bst.getParent(query);
- System.out.println(parent);
- }
- }
- }
- class BinarySearchTree {
- private Node root;
- public void insert(int data) {
- root = insert(data, root);
- }
- private Node insert(int data, Node current) {
- if (current == null) {
- return new Node(data);
- }
- if (data < current.data) {
- current.left = insert(data, current.left);
- }
- if (data > current.data) {
- current.right = insert(data, current.right);
- }
- return current;
- }
- public int getParent(int data) {
- return getParent(data, root);
- }
- private int getParent(int data, Node current) {
- /* Selamat Mengerjakan! */
- }
- }
- class Node {
- int data;
- Node left, right;
- public Node(int data) {
- this.data = data;
- this.left = this.right = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement