本文共 905 字,大约阅读时间需要 3 分钟。
目录
数据结构的内容很细,需要翻书阅读。
今天的题目是关于链表的,给定两个链表,然后合并这两个链表,要求从小到大。
C++
其实这种合并两个链表的在书上(数据结构第五版,李春葆,68页)就有详细的案例,采用的是二路合并法。
class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode* head = NULL; if(l1 == NULL) return l2; if(l2 == NULL) return l1; if(l1->val > l2->val){ head = l2; l2 = l2->next; } else{ head = l1; l1 = l1->next; } ListNode* p = head; while(l1 && l2){ if(l1->val > l2->val){ p->next = l2; l2 = l2->next; } else{ p->next = l1; l1 = l1->next; } p = p->next; } p->next = l1 ? l1 : l2; return head; }};
每日一刷再忙也得坚持,相信会有收获的。
转载地址:http://soyiz.baihongyu.com/