如果两个数字m,n拼接成mn和nm,如果mn<nm,那么m应该排在n的前面,我们定义此时m小于n,如果mn=nm,我们定义m等于n。由于mn和nm的位数一定是相同的,因此比较它们的大小只需按照字符串大小的比较规则即可。
1 class Solution { 2 public: 3 static bool cmp(int a,int b) 4 { 5 string A=to_string(a)+to_string(b); 6 string B=to_string(b)+to_string(a); 7 return A<B; 8 } 9 string PrintMinNumber(vector<int> numbers) { 10 int len = numbers.size(); 11 if(len==0) 12 return ""; 13 sort(numbers.begin(),numbers.end(),cmp); 14 string result=""; 15 for(int i=0;i<len;i++) 16 { 17 result+=to_string(numbers[i]); 18 } 19 return result; 20 } 21 };
https://blog.csdn.net/sz793919425/article/details/98208092
原文:https://www.cnblogs.com/wxwhnu/p/11419855.html