public void connectGeneral(TreeLinkNode root){
		 LinkedList<TreeLinkNode> queue = new LinkedList<TreeLinkNode>();
	        if(root==null) return;
	        queue.offer(root);
	        while(!queue.isEmpty()){
	            int size = queue.size();
	            for(int i=0;i<size;i++){
	                TreeLinkNode current = queue.poll();
	                if(current.left!=null) queue.offer(current.left);
	                if(current.right!=null) queue.offer(current.right);
	                if(i!=size-1) current.next = queue.peek();
	            }
	        }
	 }