[LeetCode]21 Merge Two Sorted Lists 合并两个有序链表
Posted caomingpei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode]21 Merge Two Sorted Lists 合并两个有序链表相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
[LeetCode]21 Merge Two Sorted Lists 合并两个有序链表
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.
Example
Example:
Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4
题意
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
题解
新构建一个链表,然后有序插入即可,注意,当一个链表为空时,直接将另一个链表插在后面即可。
代码
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode* pRoot=new ListNode(-1);
ListNode* pTail;
pTail = pRoot;
while(l1!=NULL&&l2!=NULL){
if(l1->val<l2->val){
pTail->next = l1;
l1 = l1->next;
}else{
pTail->next = l2;
l2 = l2->next;
}
pTail = pTail->next;
}
pTail->next = l1 ? l1 : l2;
return pRoot->next;
}
};
---恢复内容结束---
以上是关于[LeetCode]21 Merge Two Sorted Lists 合并两个有序链表的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode---21. Merge Two Sorted Lists
Leetcode 21. Merge Two Sorted Lists
LeetCode 21. Merge Two Sorted Lists
LeetCode算法-21Merge Two Sorted Lists