代码1:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
int pre = 0;//用于记录上一个入队列的节点是属于L1还是L2的 如果这次的节点与入队列的节点相同不需要执行指针操作
ListNode head = new ListNode(0);
head.next = null;
ListNode tmp = head;
while(l1 != null && l2 != null)
{
if(l1.val <= l2.val){
tmp.next = l1;
l1 = l1.next;
tmp = tmp.next;
}else{
tmp.next = l2;
l2 = l2.next;
tmp = tmp.next;
}
}
if(l1 != null)
tmp.next = l1;
if(l2 != null)
tmp.next = l2;
return head.next;
}
}