[Leetcode]合并两个有序链表

tech2024-05-13  90

[Leetcode]合并两个有序链表

Leetcode-合并两个有序链表

题目描述

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

示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4

解题思路
迭代,将较小值的节点作为下一个节点
实现代码
class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode* head=new ListNode(); ListNode* h=head; ListNode* p=l1; ListNode* q=l2; while(p!=NULL&&q!=NULL){ //将较小值的节点作为下一个节点 if(p->val<q->val){ h->next=p; p=p->next; } else{ h->next=q; q=q->next; } h=h->next; } if(p==NULL) //q中还有剩余节点 h->next=q; else if(q==NULL) h->next=p; return head->next; } };
最新回复(0)