题解 | #链表相加(二)#

链表相加(二)

https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b

#include<vector>
#include<list>
#include<iostream>
class Solution {
public:
    ListNode* addInList(ListNode* head1, ListNode* head2) {
        vector<int>lab,sob,tel;
        auto a=head1;
        while(a)
        {
            lab.push_back(a->val);
            a=a->next;
        }
        a=head2;
        while(a)
        {
            sob.push_back(a->val);
            a=a->next;
        }
        int y=0;
        while(!lab.empty()||!sob.empty())
        {
            int x=lab.empty()?0:lab.back();
            int z=sob.empty()?0:sob.back();
            x+=z;
            x+=y;
            y=x/10;
            x%=10;
            tel.push_back(x);
            if(!lab.empty())lab.pop_back();
            if(!sob.empty())sob.pop_back();
        }
        if(y!=0)
        {
            tel.push_back(y);
        }
        auto b=new ListNode(-1);
        auto c=b;
        while(!tel.empty())
        {
            c->next=new ListNode(tel.back());
            c=c->next;
            tel.pop_back();
        }
        return b->next;
    }
};

根据vector和list来进行进一步函数的运用,感觉内存是个问题,后续希望研究一下减少一下内存。

全部评论

相关推荐

07-25 10:53
门头沟学院 Java
投递简历一星期多了,一直卡在第一个环节没进展是不是已经没戏了
Peter____G...:其他大厂都过了,甚至在字节实习了,但是莉莉丝简历依旧秒挂
投递莉莉丝游戏等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务