private static Node arrayToTree(Integer[] arr) {
		if(arr == null || arr.length<=0)
			return null;
		Node[] narr =  new Node[arr.length];
		if(arr[0]!=null){
			narr[0] = new Node(arr[0]);
		}
			
		for(int i=0;i<arr.length;i++){
			if(2*i+1 < arr.length && arr[2*i+1]!=null){
				narr[2*i+1] = new Node(arr[2*i+1]);
				narr[i].left = narr[2*i+1];
			}
			if(2*i+2 < arr.length && arr[2*i+2]!=null){
				narr[2*i+2] = new Node(arr[2*i+2]);
				narr[i].right = narr[2*i+2];
			}
			
		}
		
		return narr[0];
	}