版权声明:转载请说明去处,文章仅供学习参考 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);
}
}