LeetCode(21)Merge Two Sorted Lists
来源:互联网 发布:游奇网络加班 编辑:程序博客网 时间:2024/05/19 01:06
题目
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.
分析
数据结构与算法的链表章节的典型实例,将两个有序链表合成一个,保持其有序的性质。
AC代码
/** * 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) { if (l1 == NULL) return l2; if (l2 == NULL) return l1; //合并后链表初始化为空 ListNode *rl = NULL; ListNode *p = l1, *q = l2; if (l1->val <= l2->val) { rl = l1; p = l1->next; } else{ rl = l2; q = l2->next; } rl->next = NULL; ListNode *head = rl; while (p && q) { if (p->val <= q->val) { rl->next = p; p = p->next; } else{ rl->next = q; q = q->next; }//else rl = rl ->next; }//while while (p) { rl->next = p; p = p->next; rl = rl->next; } while (q) { rl->next = q; q = q->next; rl = rl->next; } return head; }};
GitHub测试程序源码
0 0
- LeetCode(21)Merge Two Sorted Lists
- LeetCode (21)Merge Two Sorted Lists
- LeetCode(21)Merge Two Sorted Lists
- [LeetCode 21] Merge Two Sorted Lists Solution
- [leetcode 21] Merge Two Sorted Lists
- LeetCode 21:Merge Two Sorted Lists
- LeetCode | #21 Merge Two Sorted Lists
- [Leetcode] 21 - Merge Two Sorted Lists
- leetcode.21------------Merge Two Sorted Lists
- [leetcode]21 Merge Two Sorted Lists
- Leetcode NO.21 Merge Two Sorted Lists
- leetcode[21 链表]Merge Two Sorted Lists
- leetcode-21 Merge Two Sorted Lists
- leetCode #21 Merge Two Sorted Lists
- leetcode 21 Merge Two Sorted Lists
- [Leetcode 21, Easy] Merge Two Sorted Lists
- LeetCode 21 Merge Two Sorted Lists
- Leetcode 21 Merge Two Sorted Lists
- C/C++ extern与static关键字
- 周记——20150810
- backbone.js快速入门(二)
- MIUI 6 沉浸式状态栏(Android 4.4以上)
- 华三,思科ACL命令解析
- LeetCode(21)Merge Two Sorted Lists
- 解包Assets.car
- 正则表达式基本语法
- 记一次golang 问题的处理
- 通过运行时添加属性小例
- ulua
- C/C++关键字中的extern 和 static
- 6款最新的 jQuery 图片裁剪插件
- 水题 1293: [SCOI2009]生日礼物