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;
if(l1==nullptr)
return l2;
if(l2==nullptr)
return l1;
if(l1->val<l2->val)
{
head=l1;
head->next=mergeTwoLists(l1->next, l2);
}
else
{
head=l2;
head->next=mergeTwoLists(l1, l2->next);
}
return head;
}
};
照顾好自己的身体,控制好自己的情绪,加油!
以上就是关关关于这道题的总结经验,希望大家能够理解,有什么问题可以在我们的专知公众号平台上交流或者加我们的QQ专知-人工智能交流群 426491390,也可以加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)。 同时请,关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法等内容。扫一扫下方关注我们的微信公众号。