分解链表

版权声明:转载请说明去处,文章仅供学习参考 https://blog.csdn.net/qq_38487155/article/details/86300797
package Linear;
/*
 * 分解链表:将A分解为A和B,A的序号为奇数,B序号为偶数
 */
public class D {
	public static void decompose(Node h) {
		Node A=h;
		Node B=new Node();
		Node p =h.next;
		Node q=B;
		if(p.next==null) {	//A只有一个结点,序号为奇数
			B.next=null;
			NodeTool.traverse(A);
			NodeTool.traverse(B);
			return;
		}
		while(p!=null) {
			Node t =p.next;
			if (t==null) {		//如果p下个结点为空,即可以结束循环
				q.next=null;
				break;
			}
			p.next=t.next;
			q.next=t;
			p=p.next;
			q=q.next;
		}
		NodeTool.traverse(A);
		NodeTool.traverse(B);
	}
	public static void main(String[] args) {
		Node h =NodeTool.CreateNodeList("123");
		decompose(h);
	}

}

猜你喜欢

转载自blog.csdn.net/qq_38487155/article/details/86300797