【LeetCode OJ 021】Merge Two Sorted Lists

来源:互联网 发布:大数据在行业应用 编辑:程序博客网 时间:2024/05/22 05:08

题目:Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};ListNode *mergeTwoLists(ListNode *l1, ListNode *l2){if (l2 == NULL)return l1;if (l1 == NULL)return l2;ListNode  *r, *head;head = NULL;if (l1->val <= l2->val)  //哪个链表的第一个节点小就把头指针指向哪个节点{head = l1;l1 = l1->next;}else{head = l2;l2 = l2->next;}r = head;while (l1&&l2)    //比较大小{if (l1->val <= l2->val){r->next = l1;l1 = l1->next;}else{r->next = l2;l2 = l2->next;}r = r->next;}if (l1 == NULL)   //l1为空,直接连接l2{r->next = l2;}if (l2 == NULL)  //l2为空,直接连接l1{r->next = l1;}return head;}


0 0