leetcode 179. 最大数

一、题目

给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。

注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。

输入:nums = [3,30,34,5,9]
输出:“9534330”

输入:nums = [0,0,0,0]
输出:“0”

二、解法

思路:
显然就是将nums进行排序,然后再拼接起来,所以主要问题是排序规则。

  • 排序规则:给定字符串a,b,当a+b>b+a时即可
  • 也可以用一个long类型,存放拼接的a+b和b+a进行比较
class Solution {
   
public:
    static bool cmp(int &a,int &b){
    //long类型的比较规则
        int a1=a,b1=b,na=10,nb=10<

你可能感兴趣的:(leetcode刷题,leetcode,字符串,算法)