package com.interview.leetcode.utils;
import com.interview.basics.model.collection.hash.HashMap;
/**
* Created_By: stefanie
* Date: 14-11-13
* Time: 下午1:40
*/
public class TreeNode {
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode(int val) {
this.val = val;
}
/**
* 5
* 2 7
* 1 3 6 9
* 4
*/
public static TreeNode sampleBST(){
HashMap<Integer, TreeNode> nodes = new HashMap<>();
for (int i = 1; i < 10; i++) {
nodes.put(i, new TreeNode(i));
}
nodes.get(5).left = nodes.get(2);
nodes.get(5).right = nodes.get(7);
nodes.get(2).left = nodes.get(1);
nodes.get(2).right = nodes.get(3);
nodes.get(3).right = nodes.get(4);
nodes.get(7).left = nodes.get(6);
nodes.get(7).right = nodes.get(9);
return nodes.get(5);
}
public static TreeNode buildBST(int[] array){
TreeNode root = null;
for(int i = 0; i < array.length; i++){
root = insert(root, array[i]);
}
return root;
}
private static TreeNode insert(TreeNode node, int element){
if(node == null) return new TreeNode(element);
if(element < node.val) node.left = insert(node.left, element);
else node.right = insert(node.right, element);
return node;
}
}