public static void connect2(TreeLinkNode root) {
		if (root == null)
			return;
		if (root.left != null) {
			root.left.next = root.right;
			connect2(root.left);
			connect2(root.right);
		}
//		if (root.left != null && root.left.right != null) {
//			root.left.right.next = root.right.left;
//			connect(root.left);
//			connect(root.right);
//		}
		if (root.left != null &&root.right != null) {
			TreeLinkNode rootLeft = root.right.left;
			TreeLinkNode rootRight = root.left.right;
			while (rootLeft != null && rootRight != null) {
				rootRight.next = rootLeft;
				rootRight = rootRight.right;
				rootLeft = rootLeft.left;
				connect2(root.left);
				connect2(root.right);
			}
		}
	}