题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。
代码:
package offer;
class Node5
{
int val;
Node5 next = null;
Node5(int val)
{
this.val = val;
}
}
public class ti25 {
public static Node5 Merge(Node5 node1,Node5 node2)
{
Node5 p = node1,q = node2;
Node5 now = new Node5(0);
Node5 result = now;
while(p!=null&&q!=null)
{
if(p.val<=q.val)
{
result.next = p;
p = p.next;
}
else
{
result.next = q;
q = q.next;
}
result = result.next;
}
if(p!=null)
{
result.next = p;
}
else if(q!=null)
{
result.next = q;
}
return now.next;
}
public static void main(String[] args)
{
Node5 node1 = new Node5(1);
Node5 node2 = new Node5(2);
Node5 node3 = new Node5(3);
Node5 node4 = new Node5(4);
Node5 node5 = new Node5(5);
Node5 node6 = new Node5(6);
Node5 node7 = new Node5(7);
Node5 node8 = new Node5(8);
node1.next = node3;
node3.next = node5;
node5.next = node7;
node2.next = node4;
node4.next = node6;
node6.next = node8;
Node5 head = Merge(node1,node2);
while(head!=null)
{
System.out.println(head.val);
head = head.next;
}
}
}