欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

合并两个有序链表(C++)

发布时间:2025/4/16 c/c++ 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 合并两个有序链表(C++) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

简述

将两个有序的链表合并,并返回

输入: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) {ListNode *head=NULL, *cur=NULL;int val;while (l1 || l2) {if (l1 != NULL && l2 != NULL) { if (l1 -> val < l2 -> val){val = l1->val;l1 = l1 -> next;} else {val = l2->val;l2 = l2 -> next;}} else if (l1 != NULL) {val = l1 -> val;l1 = l1 -> next;} else if (l2 != NULL) {val = l2 -> val;l2 = l2 -> next;}if (head == NULL) {head = new ListNode(val);cur = head;} else {cur->next = new ListNode(val);cur = cur->next;}}return head;} };

总结

以上是生活随笔为你收集整理的合并两个有序链表(C++)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。