美文网首页LeetCode
两个排序链表合并

两个排序链表合并

作者: 徐凯_xp | 来源:发表于2018-03-06 01:23 被阅读2次

LeetCode 21. Merge Two Sorted Lists
已知两个已排序链表头节点指针L1,L2,将这两个链表合并,合并后仍为有序的,返回合并后的头节点。

数据结构

struct ListNode{
    int val;
    ListNode * next;
    ListNode(int x): val(x),next(NULL){}
};
class Solution{
public:
    ListNode* mergeTwoLists(ListNode *L1,ListNode *L2){}
}
算法设计

比较l1和l2指向的节点,将较小的节点插入到pre指针后,并向前移动较小节 点对应的指针与pre指针,直到l1与l2指针有一个为空指针。最后再连接不为空的那段链表(l1或l2)。


class Solution{
public:
    ListNode * mergeTwoLists(ListNode *L1,ListNode *L2){
    ListNode temp_head(0);//设置临时头节点temp_head
    ListNode *pre = &temp_head;
while(L1 && L2){
    if(L1->val < L2->val){
        pre->next = L1;
        L1 = L1->next;
    else{
        pre->next = L2;
        L2 = L2->next;    
    }
    pre = pre->next
           
}
if(L1){//如果L1有剩余
pre->next =L1;
}
if(L2){
pre->next = L2;
}
return temp_head.next  
}

}
}

相关文章

  • 面试题25. 合并两个排序的链表

    合并两个排序的链表 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例: ...

  • LeetCode题解之合并两个排序的链表

    合并两个排序的链表 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1:...

  • 25:合并两个排序的链表

    题目25:合并两个排序的链表 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的 举例说...

  • LeetCode 每日一题 [56] 合并两个排序的链表

    LeetCode 合并两个排序的链表 [简单] 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增...

  • leecode刷题(27)-- 合并k个排序链表

    leecode刷题(27)-- 合并k个排序链表 合并k个排序链表 合并 k 个排序链表,返回合并后的排序链表。请...

  • 剑指offer之合并两个排序的列表

    合并两个排序的列表 欢迎关注作者简书csdn传送门 题目   输入两个递增排序的链表,合并这两个链表并使新链表中的...

  • 2018-12-26

    问题列表 合并两个有序链表 合并K个排序链表 合并区间 插入区间 问题与反馈 总结与收获 多个有序链表的合并,类似...

  • 面试题25:合并两个排序的链表

    题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点依然是排序的

  • [LeetCode OJ]- Merge Two Sorted

    题目要求:合并两个单向已排序的链表l1和l2,返回新的链表。 思路:该问题跟合并两个已排序的数组很像,合并两个已排...

  • 链表

    1 合并两个链表 2 链表判环 并返回入环节点的值 3 两个无环单链表是否相交 4 合并两个有序链表 5 链表排序

网友评论

    本文标题:两个排序链表合并

    本文链接:https://www.haomeiwen.com/subject/qjqhfftx.html