[LeetCode]Merge Two Sorted Lists
2013-05-30 10:25
357 查看
struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Solution { //this is a very simple implementation //one pointer and one pointer's pointer public: ListNode * mergeTwoList(ListNode *l1, ListNode *l2) { ListNode *h = NULL; ListNode **p = &h; while(l1 && l2) { if(l1->val < l2->val) { *p = l1; l1 = l1->next; } else { *p = l2; l2 = l2->next; } p = &((*p)->next); } if(l1) *p = l1; else *p = l2; return h; } };
second time
/** * 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) { // Start typing your C/C++ solution below // DO NOT write int main() function ListNode dummy(-1); ListNode* prev = &dummy; while(l1 != NULL && l2 != NULL) { ListNode* tmp; if(l1->val < l2->val) tmp = l1, l1 = l1->next; else tmp = l2, l2 = l2->next; prev->next = tmp; prev = prev->next; } if(l1 == NULL && l2 == NULL) prev->next = NULL; if(l1 != NULL) prev->next = l1; if(l2 != NULL) prev->next = l2; return dummy.next; } };
相关文章推荐
- LeetCode Merge Two Sorted Lists
- LeetCode-Merge Two Sorted Lists
- leetcode第一刷_Merge Two Sorted Lists
- LeetCode之“链表”:Merge Two Sorted Lists && Merge k Sorted Lists
- LeetCode 21 Merge Two Sorted Lists (有序两个链表整合)
- LeetCode 21. Merge Two Sorted Lists(合并链表)
- [leetcode]_Merge Two Sorted Lists
- 【Leetcode】Merge Two Sorted Lists
- leetcode做题总结,题目Merge Two Sorted Lists 2012/03/30
- LeetCode Merge Two Sorted Lists
- 【leetcode】Merge Two Sorted Lists
- Leetcode 21. Merge Two Sorted Lists (Easy) (cpp)
- leetcode Merge Two Sorted Lists
- LeetCode 21. Merge Two Sorted Lists
- 【leetcode】【单链表】【21】Merge Two Sorted Lists
- LeetCode:Merge Two Sorted Lists
- Leetcode NO.21 Merge Two Sorted Lists
- LeetCode之Merge Two Sorted Lists
- leetcode - Merge Two Sorted Lists
- LeetCode021 Merge Two Sorted Listss C语言