NC111 最大数

传送门

class Solution {
public:
    /**
     * 最大数
     * @param nums int整型vector 
     * @return string字符串
     */
    static bool cmp(string x,string y){
        return x+y>y+x;
    }
    string solve(vector<int>& nums) {
        // write code here
        vector<string> vs;
        //将整型的数字转化为字符串
        for(int i=0;i<nums.size();i++)
            vs.push_back(to_string(nums[i]));
        sort(vs.begin(),vs.end(),cmp);
        if(vs[0]=="0")return "0";
        string ans;
        for(int i=0;i<vs.size();i++){
            ans.append(vs[i]);
        }
        return ans;
    }
};

额外收获:

  • c++中字符串也是支持自由拼接的。
  • append(),to_string()
  • 解决“reference to non-static member function must be called”问题
posted @ 2021-10-08 10:59  Rekord  阅读(62)  评论(0编辑  收藏  举报