package main
import "strings"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param str string字符串
* @return string字符串
*/
func rearrangestring( str string ) string {
cnt:=map[byte]int{}
max:=0
var tar byte
for _,ch:=range []byte(str){
cnt[ch]++
if cnt[ch]>max{
max=cnt[ch]
tar=ch
}
}
if len(str)-max<max-1{
return ""
}
ans:=make([]string,max)
for i,_:=range ans{
ans[i]=string(tar)
}
delete(cnt,tar)
add:=""
for k,v:=range cnt{
add+=strings.Repeat(string(k), v)
}
for len(add)>0{
for i:=0;i<max;i++{
if len(add)==0{
break
}
ans[i]+=string(add[0])
add=add[1:]
}
}
return strings.Join(ans,"")
}