Merge Two Sorted Lists
来源:互联网 发布:抚仙湖水下古城 知乎 编辑:程序博客网 时间:2024/06/06 18:10
题目
原题
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.
思路
类似于有序数组的归并排序.这里需要注意的是如何设置head, 和如何交换l1, l2.或者用递归的方式来弄, 这个比较简单明了.
code
/** * 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) { /// method 1 // if(l1 == NULL) return l2; // if(l2 == NULL) return l1; // ListNode* head = NULL; // ListNode* pre = NULL; // while(l1 != NULL && l2 != NULL) { // if(l1->val <= l2->val) { // if(pre == NULL) { // head = l1; // } // pre = l1; // l1 = l1->next; // } else { // ListNode* tmp = l1; // if(pre == NULL) { // head = l2; // pre = l2; // } else { // pre->next = l2; // pre = pre->next; // } // l2 = tmp; // l1 = pre->next; // } // } // if(l2) pre->next = l2; // return head; /// method 2 if(l1 == NULL) return l2; if(l2 == NULL) return l1; if(l1->val <= l2->val) { l1->next = mergeTwoLists(l1->next, l2); return l1; } else { l2->next = mergeTwoLists(l2->next, l1); return l2; } }};
0 0
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Merge Two Sorted Lists
- Android中全局Application的onCreate多次调用问题
- pycharm ubuntu 下的安装
- Odoo8.0中允许用户动态调整TreeView栏位宽度
- 保留上一条未发出的评论
- 代理模式(Proxy)
- Merge Two Sorted Lists
- apex:actionSupport
- 用CSDN Markdown在线编辑器写博客
- 写了一个HTML页面,想用手机打开怎么办?
- Android 判断app是否在前台还是在后台运行
- iOS多线程编程
- 理解sychronized针对的是对象而非语句或者方法
- 单例设计模式详解
- iOS和Android的app界面设计规范