private static Node makeTree(Node root, HashMap<Integer, java.util.List<Integer>> maps) {
		ArrayList<Integer> m = new ArrayList<Integer>(maps.get(root.val));
		for (Integer i : m) {
			if (root.left == null) {
				if (root.parent != null && i != root.parent.val) {
					root.left = makeTree(new Node(null, null, root, i, 0), maps);
				}
			} else {
				if (root.parent != null && i != root.parent.val) {
					root.right = makeTree(new Node(null, null, root, i, 0), maps);
				}
			}
		}
		int child = 0;
		if (root.left != null) {
			child++;
		}
		if (root.right != null) {
			child++;
		}
		root.child = child;
		return root;
	}