合并两个有序链表(C++)
生活随笔
收集整理的這篇文章主要介紹了
合并两个有序链表(C++)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
簡述
將兩個有序的鏈表合并,并返回
輸入: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;} };總結(jié)
以上是生活随笔為你收集整理的合并两个有序链表(C++)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有序的两个数组在满足其中一个数组的所有数
- 下一篇: 删除有序vector中的重复值c++