题目
题目链接:
https://www.nowcoder.com/practice/f1f6a1a1b6f6409b944f869dc8fd3381
思路
排序后直接拼接结果
Java代码
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param strs string字符串一维数组 the strings
* @return string字符串
*/
public String minString (String[] strs) {
//排序后直接拼接结果
Arrays.sort(strs, (a, b) -> {
return (a + b).compareTo(b + a);
});
StringBuilder sb = new StringBuilder();
for (String str : strs) {
sb.append(str);
}
return sb.toString();
}
}
Go代码
package main
import "sort"
import "bytes"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param strs string字符串一维数组 the strings
* @return string字符串
*/
func minString(strs []string) string {
//排序后直接拼接
sort.Slice(strs, func(i, j int) bool {
return strs[i]+strs[j] <= strs[j]+strs[i]
})
var bt bytes.Buffer
for _, str := range strs {
bt.WriteString(str)
}
return bt.String()
}
C++代码
bool compareColumn(const string a, const string b) {
return (a + b) < (b + a);
}
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param strs string字符串vector the strings
* @return string字符串
*/
string minString(vector<string>& strs) {
std::sort(strs.begin(), strs.end(), compareColumn);
string ans;
for (int i = 0; i < strs.size(); i++) {
ans += strs[i];
}
return ans;
}
};