Facebook
From bst, 2 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 126
  1. public class Solution {
  2.     public static class Node{
  3.         int data;
  4.         Node left,right;
  5.     }
  6.  
  7.     public static Node construct(int arr[],int lo,int hi){
  8.         if(lo > hi){
  9.             return null;
  10.         }
  11.         int mid = (lo+hi)/2;
  12.         Node node = new Node();
  13.         node.data = arr[mid];
  14.  
  15.         node.left = construct(arr, lo, mid-1);
  16.         node.right = construct(arr, mid+1 , hi);
  17.  
  18.         return node;
  19.     }
  20.  
  21.     public static void display(Node node){
  22.         if(node == null){
  23.             return;
  24.         }
  25.         System.out.print(node.left == null ? "." : node.left.data);
  26.         System.out.print(" <- "+node.data+" -> ");
  27.         System.out.println(node.right == null ? "." : node.right.data);
  28.  
  29.         display(node.left);
  30.         display(node.right);
  31.     }
  32.     public static void main(String[] args) {
  33.         int arr[] = {10,20,30,40,50,60,70}; // sorted integers
  34.  
  35.         Node root = construct(arr, 0, arr.length-1);
  36.         display(root);
  37.     }
  38. }
  39.