您的位置:首页 > 其它

LeetCode 21 - Merge Two Sorted Lists

2015-05-20 18:09 519 查看

一、问题描述

Description:

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

合并两个有序的链表,返回合并后的链表。

二、解题报告

本题也很简单,按顺序不断取下 两个链表表头中 较小的结点放入新的链表中。然后看哪个链表还有剩余,将剩下的部分加到新链表的后面。

代码如下:

class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode* head = new ListNode(0);
ListNode* p = head;
while(l1!=NULL && l2!=NULL) {
if(l1->val < l2->val) {
p->next = l1;
l1 = l1->next;
}
else {
p->next = l2;
l2 = l2->next;
}
p = p->next;
p->next = NULL;
}

if(l1!=NULL)
p->next = l1;
if(l2!=NULL)
p->next = l2;

return head->next;
}
};


LeetCode答案源代码:https://github.com/SongLee24/LeetCode
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 链表 合并