题解 | #大整数排序#
大整数排序
https://www.nowcoder.com/practice/b744af632ac4499aa485d7bb048bb0aa
#include <bits/stdc++.h>
using namespace std;
bool cmp(string s1,string s2){
if(s1.length()!=s2.length())
return s1.length()<s2.length();
else{
//两个字符串长度相等
for(int i =0;i<s1.length();i++){
if(s1[i]!=s2[i]){
return s1[i]<s2[i];
}
}
}
return true;
}
int main() {
int n;cin>>n;
vector<string>v;
while(n--){
string temp;cin>>temp;
v.push_back(temp);
}
sort(v.begin(),v.end(),cmp);
for(auto a:v)
cout<<a<<endl;
}
// 64 位输出请用 printf("%lld")
重写cmp函数

查看2道真题和解析
汤臣倍健公司氛围 416人发布