您的位置:首页 > 其它

[LeetCode] Merge Two Sorted Lists

2016-07-29 00:00 417 查看
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.

水题,注意 dummy node 的使用即可,在不确定头节点的情况下,应该使用 dummy node,如此可以简化程序。以本题为例,鉴于两个输入链表可能为空,我们采用 dummy 节点,使得 dummyHead->next 指向新链表的第一个节点。

以下为 AC 的代码:

/** * Author : Acjx * Email : zhoujx0219@163.com */

/** * 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 *dummyHead = new ListNode(0); ListNode *cur = dummyHead; while (l1 != NULL && l2 != NULL) { if (l1->val < l2->val) { cur->next = l1; l1 = l1->next; } else { cur->next = l2; l2 = l2->next; } cur = cur->next; } if (l1 != NULL) { cur->next = l1; } if (l2 != NULL) { cur->next = l2; } return dummyHead->next; } };
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: