码迷,mamicode.com
首页 > 其他好文 > 详细

代码题(14)— 合并有序链表

时间:2018-06-26 23:06:19      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:空间   返回   节点   nbsp   return   style   有序链表合并   turn   链表   

1、21. 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

示例:

输入:1->2->4, 1->3->4
输出: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) {
        if(l1 == nullptr)
            return l2;
        if(l2 == nullptr)
            return l1;
        ListNode * res = nullptr;
        if(l1->val < l2->val)
        {
            res = l1;
            res->next = mergeTwoLists(l1->next, l2);
        }
        if(l1->val >= l2->val)
        {
            res = l2;
            res->next = mergeTwoLists(l1, l2->next);
        }
        return res;
    }
};

2、88. 合并两个有序数组

给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 使得 num1 成为一个有序数组。

说明:

  • 初始化 nums1 和 nums2 的元素数量分别为 m 和 n
  • 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。

示例:

输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3

输出: [1,2,2,3,5,6]



代码题(14)— 合并有序链表

标签:空间   返回   节点   nbsp   return   style   有序链表合并   turn   链表   

原文地址:https://www.cnblogs.com/eilearn/p/9231594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!