25. 合并两个排序的链表
生活随笔
收集整理的這篇文章主要介紹了
25. 合并两个排序的链表
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2020-06-22
1.題目描述
輸入兩個(gè)遞增排序的鏈表,合并這兩個(gè)鏈表并使新鏈表中的節(jié)點(diǎn)仍然是遞增排序的。2.題解
直接進(jìn)行合并即可,注意這里的pre指針要進(jìn)行更新3.代碼
/*** 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) {if (!l1&&!l2) return NULL;if (!l1) return l2;if (!l2) return l1;ListNode *head=new ListNode(-1); // 臨時(shí)的頭節(jié)點(diǎn)head->next=l1;ListNode *p=l1,*q=l2,*pre=head,*tail;while (p&&q){if (p->val>q->val){tail=q->next;q->next=p;pre->next=q;pre=q;q=tail;}else{pre=p;p=p->next;}}if (q) pre->next=q;ListNode* res=head->next;delete head;return res;} };總結(jié)
以上是生活随笔為你收集整理的25. 合并两个排序的链表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【模式匹配】KMP算法的来龙去脉
- 下一篇: eclipse输入中文为繁体字