合并两个有序链表(C++)
生活随笔
收集整理的这篇文章主要介绍了
合并两个有序链表(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++)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 有序的两个数组在满足其中一个数组的所有数
- 下一篇: 删除有序vector中的重复值c++