leetcode21
来源:互联网 发布:betterzip for mac安装 编辑:程序博客网 时间:2024/05/02 08:17
LeetCode21 ----------Merge Two Sorted Lists
将两个有序链表合并成一个有序链表。
这是当初学数据结构时一个非常重要的链表操作了。
思路很简单。
首先如果其中一个为空,返回另一个。
分别比较两个链表的元素,分为三种情况:
前两种分别是,将指针1向右移动或将指针2向右移动。
当两值相等时,要同时插入两个元素,并同时移动两个指针。
最后:
当某一指针指向空时,要将另一条链表的剩余部分插入到结果链表中。
这里也需要注意头指针,在LeetCode中返回的链表都是不带头结点的头指针
代码:
class Solution {public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {if (l2 == NULL)return l1;if (l1 == NULL)return l2;ListNode *head=new ListNode(0);ListNode *r = head;while (l1 && l2){if (l1->val == l2->val){ListNode*p1 = new ListNode(l1->val);ListNode*p2 = new ListNode(l2->val);r->next = p1;r = p1;r->next = p2;r = p2;l1 = l1->next;l2 = l2->next;}else if (l1->val < l2->val){ListNode*p1 = new ListNode(l1->val);r->next = p1;r = p1;l1 = l1->next;}else{ListNode*p2 = new ListNode(l2->val);r->next = p2;r = p2;l2 = l2->next;}}if (!l1){r->next = l2;}else{r->next = l1;}ListNode * p = head;head = head->next;delete p;return head;}};
0 0
- leetcode21
- leetcode21
- leetcode21: Integer to Roman
- LeetCode21: Generate Parentheses
- Leetcode21: Min Stack
- leetcode21.MergeTwoSorted Lists
- [LeetCode21]Merge Two Sorted Lists
- leetcode21 Merge Two Sorted Lists
- LeetCode21:Merge Two Sorted Lists
- leetcode21. Merge Two Sorted Lists
- LeetCode21. Merge Two Sorted Lists
- Leetcode21: Merge Two Sorted Lists
- leetcode21:Merge Two Sorted Lists
- leetcode21~Merge Two Sorted Lists
- leetcode21. Merge Two Sorted Lists
- LeetCode21. Merge Two Sorted Lists
- LeetCode21. Merge Two Sorted Lists
- LeetCode21:Merge Two Sorted Lists
- leetcode20
- 在diy的文件系统上创建文件的流程
- 求两个链表的并集
- gradle 学习资料汇总
- 拓展欧几里德
- leetcode21
- Star Schema完全参考手册读书笔记五
- Android Studio导入SlidingMenu类库的方法(其他类库应该也适用)
- HDu1296(Polynomial Problem)多项式的求解
- HTML 常用头部标签(meta)
- 内核通知链原理及机制
- 倾诉
- C#把时间秒数转化成时间格式字符串00:00:00
- 1001. A+B Format (20)