lintcode 165 合并两个排序链表
2017-03-31 18:54
316 查看
1.将两个排序链表合并为一个新的排序链表
2.遍历两个链表的公共长度,根据节点值的大小来改变每次节点的连接,然后判断哪条链表还有剩余,最后将较长链表的剩余部分追加到节点的后面
3.
/**
* Definition of ListNode
* class ListNode {
* public:
* int val;
* ListNode *next;
* ListNode(int val) {
* this->val = val;
* this->next = NULL;
* }
* }
*/
class Solution {
public:
/**
* @param ListNode l1 is the head of the linked list
* @param ListNode l2 is the head of the linked list
* @return: ListNode head of linked list
*/
ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
// write your code here
ListNode *dummy=new ListNode(0);
ListNode *temp=dummy;
while(l1&&l2)
{
if(l1->val<=l2->val){temp->next=l1;l1=l1->next;temp=temp->next;}
else{temp->next=l2;l2=l2->next;temp=temp->next;}
}
if(l1!=NULL){temp->next=l1;}
else {temp->next=l2;}
return dummy->next;
}
};
4.感想
类似于插入排序(同学给我讲的),难点在于分情况时的考虑和处理。
2.遍历两个链表的公共长度,根据节点值的大小来改变每次节点的连接,然后判断哪条链表还有剩余,最后将较长链表的剩余部分追加到节点的后面
3.
/**
* Definition of ListNode
* class ListNode {
* public:
* int val;
* ListNode *next;
* ListNode(int val) {
* this->val = val;
* this->next = NULL;
* }
* }
*/
class Solution {
public:
/**
* @param ListNode l1 is the head of the linked list
* @param ListNode l2 is the head of the linked list
* @return: ListNode head of linked list
*/
ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
// write your code here
ListNode *dummy=new ListNode(0);
ListNode *temp=dummy;
while(l1&&l2)
{
if(l1->val<=l2->val){temp->next=l1;l1=l1->next;temp=temp->next;}
else{temp->next=l2;l2=l2->next;temp=temp->next;}
}
if(l1!=NULL){temp->next=l1;}
else {temp->next=l2;}
return dummy->next;
}
};
4.感想
类似于插入排序(同学给我讲的),难点在于分情况时的考虑和处理。
相关文章推荐
- LintCode-剑指Offer-(165)合并两个排序链表
- LintCode—合并两个排序链表(165)
- lintcode——合并两个排序链表
- lintcode合并两个排序链表
- lintcode 165. 合并两个排序链表
- 165 - 合并两个排序链表
- LintCode 165合并两个排序链表
- lintcode-合并两个排序链表 -165
- Lintcode 165合并两个排序链表
- LintCode--合并k个排序链表
- lintcode merge-k-sorted-lists 合并k个排序链表
- Google/LintCode:M-合并k个排序链表
- LintCode_165_合并两个排序链表
- 165合并两个排序链表
- 《剑指offer》面试题17—合并两个排序链表
- 合并两个排序的链表
- 剑指Offer之合并两个排序的链表
- 合并两个排序好的链表/链表去重/链式快排
- 合并两个排序的链表
- 题目1519:合并两个排序的链表-九度