题目来源:
https://leetcode-cn.com/problems/merge-two-sorted-lists/description/
题目描述:
算法描述:
该题其实比较简单,就是同时遍历l1,l2两个链表,哪个链表上的结点的值小,就将这个结点尾插到新链表中去。知道其中一根链表为NULL。将不为NULL的链表剩余部分尾插就行了。
代码如下:
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if(l1==NULL){
return l2;
}
if(l2==NULL){
return l1;
}
ListNode *head = new ListNode(-1);
ListNode *cur = head;
while (l1!=NULL && l2!=NULL){
if (l1->val <= l2->val) {
cur->next = l1;
l1 = l1->next;
} else {
cur->next = l2;
l2 = l2->next;
}
cur = cur->next;
}
cur->next = l1==NULL?l2:l1;
return head->next;
}
};