牛客:NC16783拼数
思路:这个题最先想到的思路就是用字典序比较,然后直接拼接,但是当两个字符串的长度不相同的时候我们应该怎么进行比较呢?(解题的关键)
对于两个长度不相同的字符串,我们可以把两个字符串做一个拼接。比如:a和b,我们比较a+b和b+a字符串的字典序大小就可以了。
//完整代码
#include<bits/stdc++.h>
using namespace std;
bool comp(string a,string b){return a+b>b+a;
}
int main(){int n;cin>>n;vector<string> arr;for(int i=0;i<n;i++){string s;cin>>s;arr.push_back(s);}sort(arr.begin(),arr.end(),comp);for(int i=0;i<n;i++){cout<<arr[i];} return 0;
}