题解 | 链表合并
链表合并
https://www.nowcoder.com/practice/27c833289e5f4f5e9ba3718ce9136759
#include <iostream> #include <list> using namespace std; int main() { list<int> l1; list<int> l2; list<int> ls; int x; while(cin>>x) { l1.push_back(x); if(cin.peek()=='\n') break; } while(cin>>x) { l2.push_back(x); if(cin.peek()=='\n') break; } auto it1=l1.begin(); auto it2=l2.begin(); while(it1!=l1.end()&&it2!=l2.end()) { if(*it1<=*it2) { ls.push_back(*it1); ++it1; } else { ls.push_back(*it2); ++it2; } } while(it1!=l1.end()) { ls.push_back(*it1); ++it1; } while(it2!=l2.end()) { ls.push_back(*it2); ++it2; } auto it=ls.begin(); while(it!=ls.end()) { cout<<*it<<' '; ++it; } return 0; } // 64 位输出请用 printf("%lld")