package Linear;
/*
* 合并链表:将两递增有序A,B合并为一个递增有序链表C(链式结构)
*/
public class B {
public static Node merge(Node pa,Node pb) {
Node h =new Node();
Node p=h;
pa=pa.next; //跳过头结点
pb=pb.next; //跳过头结点
while(pa!=null&&pb!=null) {
if(pa.data<=pb.data) {
p.next=pa;
pa=pa.next;
p=p.next;
}else {
p.next=pb;
pb=pb.next;
p=p.next;
}
}
if(pa==null) {
p.next=pb;
}
if(pb==null) {
p.next=pb;
}
return h;
}
public static void main(String[] args) {
Node A=NodeTool.CreateNodeList("123");
Node B=NodeTool.CreateNodeList("46");
Node C=merge(A, B);
NodeTool.traverseWithHead(C);
NodeTool.traverseWithHead(A);
NodeTool.traverseWithHead(B);
}
}