题解 | #链表相加(二)#
链表相加(二)
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来进行进一步函数的运用,感觉内存是个问题,后续希望研究一下减少一下内存。