题目链接:https://leetcode.com/problems/merge-two-sorted-lists/#/description
题目要求:将两个有序列表合并为一个有序列表
思路:循环比较两个链表的头元素,较小的那个加入新链表,然后指针后移;直到其中一个链表为空之后,将另一个链表加入到新链表中。
Java代码如下:
public class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode head = null;
ListNode current = null;
while(l1!=null && l2 != null){
if(l1.val < l2.val){
if(head == null){
head = l1;
current = head;
} else {
current.next = l1;
current = current.next;
}
l1 = l1.next;
} else {
if(head == null){
head = l2;
current = head;
} else {
current.next = l2;
current = current.next;
}
l2 = l2.next;
}
}
if(l1 == null){
if(head == null){
head = l2;
} else {
current.next = l2;
}
} else {
if(head == null){
head = l1;
} else {
current.next = l1;
}
}
return head;
}
}