码迷,mamicode.com
首页 > 其他好文 > 详细

Merge Two Sorted Lists

时间:2014-11-06 17:23:21      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   for   sp   div   on   log   

class Solution {
 public:
     int listSize(ListNode* l){
         if(l==NULL) return 0;
         int len=1;
         ListNode* p=l;
         while (p->next)
         {
             p=p->next;
             ++len;
         }
         return len;
     }
     ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
         if(l1==NULL) 
             return l2;
         if(l2==NULL) 
             return l1;
         int len1=listSize(l1);int len2=listSize(l2);
         ListNode* p=l1;

         ListNode* result=(ListNode*)malloc(sizeof(ListNode));
         result->next=NULL;
         result->val=p->val;
         ListNode* q1=result;
         for (int i=1;i<len1;++i)
         {
             p=p->next;
             ListNode* s=(ListNode*)malloc(sizeof(ListNode));
             s->val=p->val;
             s->next=q1->next;
             q1->next=s;
             q1=q1->next;
         }

         ListNode* q=l2;
         for (int i=0;i<len2;++i)
         {
             int time=0;
             ListNode* curNode=result;
             ListNode* preNode=result;
             int temp=q->val;
             while(curNode!=NULL&&curNode->val<temp){
                 if(time!=0){
                     preNode=preNode->next;
                 }
                 curNode=curNode->next;
                 ++time;
             }
             if(time==0){
                 ListNode* newNode=(ListNode*)malloc(sizeof(ListNode));
                 newNode->val=temp;
                 newNode->next=result;
                 result=newNode;
                 q=q->next;
             }else{
                 ListNode* newNode=(ListNode*)malloc(sizeof(ListNode));
                 newNode->val=temp;
                 newNode->next=preNode->next;
                 preNode->next=newNode;
                 q=q->next;
             }
         }
         return result;
         
     }
 };

 

Merge Two Sorted Lists

标签:style   blog   io   color   for   sp   div   on   log   

原文地址:http://www.cnblogs.com/fightformylife/p/4079138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!