參考資料:
[1]乒乓的回答。
https://www.nowcoder.com/profile/4163181/codeBookDetail?submissionId=15577844
[2]C++中string的排序標(biāo)準(zhǔn)
關(guān)鍵詞:
to_string()、比較標(biāo)準(zhǔn)
思路:
自己的答案:
class Solution {
public:
string PrintMinNumber(vector<int> numbers) {
//自己定義排序標(biāo)準(zhǔn)
string C = "";
sort(numbers.begin(),numbers.end(),cmp);
for(int i=0;i<numbers.size();i++)
{
C+=to_string(numbers[i]);
}
return C;
}
static bool cmp(int num1,int num2)
{
string A = "";
string B = "";
A+=to_string(num1);
A+=to_string(num2);
B+=to_string(num2);
B+=to_string(num1);
return A<B;
}
};
標(biāo)準(zhǔn)答案:
class Solution {
public:
string PrintMinNumber(vector<int> numbers) {
//步驟1:按某個(gè)規(guī)則進(jìn)行排序
sort(numbers.begin(),numbers.end(),cmp);
//步驟2:把數(shù)組寫出來(lái)
string C = "";//輸出的字符串
for(int i=0;i<numbers.size();i++)
{
C+=to_string(numbers[i]);
}
return C;
}
static bool cmp(int a,int b)
{
string A = "";
string B = "";
A+=to_string(a);
A+=to_string(b);
B+=to_string(b);
B+=to_string(a);
return A<B;//true的話,a,b不動(dòng)笆载,false的話,a,b互換。
}
};