现在的位置: 首页 > 综合 > 正文

[各种面试题] 整数拼接

2017年12月23日 ⁄ 综合 ⁄ 共 394字 ⁄ 字号 评论关闭

数组nums中有n个非负整数(整数用字符串表示),将它们以一定的顺序拼接,得到最大的整数。

样例:

n=4
nums: ["54", "546", "548", "60"]

可以拼接得到的最大整数为"6054854654",因此函数应该返回"6054854654"。

struct compare
{
	bool operator()(const string& n1,const string& n2) const
	{
		string t1=n1+n2;
		string t2=n2+n1;
		return t1.compare(t2)>0;
	}
};
			

string biggestNum(vector<string> &nums) {
	sort(nums.begin(),nums.end(),compare());
	string ret;
	for(int i=0;i<nums.size();i++)
		ret.append(nums[i]);
	return ret;
} 

抱歉!评论已关闭.