合并两个有序链表

来源:互联网 发布:java苏州招聘 编辑:程序博客网 时间:2024/05/10 23:40

给你两个有序的单链表,如 5->10->15 和  2->3->20,要求把它们合并成一个单链表:2->3->5->10->15->20

用递归的方法来做:

struct LNode{int data;LNode* next;LNode(int dat, LNode* nex = NULL): data(dat), next(nex) {}};LNode* SortedMerge(LNode* a, LNode*b){if(!a)return b;else if(!b)return a;else{if(a->data < b->data){LNode* a_next = a->next;a->next = SortedMerge(a_next, b);return a;}else{LNode* b_next = b->next;b->next = SortedMerge(a, b_next);return b;}}}


原创粉丝点击