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

0225——LC+GM

时间:2020-02-25 20:09:40      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:roo   bit   void   好的   pre   color   ++   audio   div   

Gmiansi:

polish project 

dataset method self-work

C++中不能连等赋值

LC148

#include<bits/stdc++.h>
using namespace std;
struct ListNode
{
int val;
ListNode* next;
ListNode(int x):val(x),next(NULL){}
};
class Solution
{
public:
    ListNode* sortList(ListNode* root)
    {
        //judge NULL
        if(!root||!root->next) return root;
//        ListNode* fast=root;ListNode* slow=root;ListNode* pre=root;
        ListNode* fast=root,*slow=root,* pre=root;

        while(fast&&fast->next)
        {
    pre=slow;
    slow=slow->next;
    fast=fast->next->next;
}
pre->next=NULL;
return merge(sortList(root),sortList(slow));
}

ListNode* merge(ListNode* l1,ListNode* l2)
{
    if(!l1) return l2;
    if(!l2) return l1;
    if(l1->val<l2->val)
    {
        l1->next=merge(l1->next,l2);
        return l1;
}
else
{
    l2->next=merge(l1,l2->next);
    return l2;
}
}

};
void printList(ListNode* root)
{
    while(root)
    {
        cout<<root->val<<" ";
        if(root->next)
            root=root->next;
        else
            break;
}
cout<<endl;
}
int main()
{
    int n;
    ListNode* dummy=new ListNode(-1);
    ListNode* copy=dummy;
    while(cin>>n)
    {
        ListNode* tmp=new ListNode(n);
        dummy->next=tmp;
        dummy=dummy->next;
}
ListNode* ans=Solution().sortList(copy->next);
    printList(ans);
    return 0;
}

BONUS:

char和数字的差值是48,方向是字符比数字大48(毕竟数字从0开始,怎么也不会到负值吧~所以自然就是字符0是48)

比起直接减数字,减‘0‘是更好的效果。简便

 

 

0225——LC+GM

标签:roo   bit   void   好的   pre   color   ++   audio   div   

原文地址:https://www.cnblogs.com/Marigolci/p/12363298.html

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