问题 4776 --重排字符串

4776: 重排字符串★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 251  解决: 164
[提交][状态][命题人:]

题目描述

给你一个字符串s由小写字母组成。每个字母在字符串中出现不超过两次。

您的任务是重新排列字符串中的字母,使出现两次的字母,他们的距离相同。不允许添加或删除字母。

可以证明答案总是存在的。如果有多个答案,请打印其中任何一个。

输入

第一行包含一个整数t(1T10^3)-测试用例的数量。每个测试用例由一个非空字符串小写字母组成。每个字母在字符串中出现的次数不超过两次。字符串的长度不超过52

输出

对于每个测试用例,打印一个字符串。每个字母在其中出现的次数应与在字符串s中出现的次数相同。对于出现2次的字母,两个字母之间的距离应相同。如果有多个答案,请打印其中任何一个。

样例输入
Copy
3
oelhl
abcdcba
ac
样例输出
Copy
hello
ababcdc
ac

提示

在第一个测试用例中,唯一出现两次的字母是字母“l”。您可以任意重新排列字母,因为没有可比较的距离。

在第二个测试用例中,恰好出现两次的字母是“a”、“b”和“c”。最初,字母“a”是距离6,字母“b”相距距离4,字母“c”相距距离2。它们不一样,所以我们必须重新排列字母。重新排列后,字母“a”相距距离2,字母“b”相距距离2,字母“c”相距距离2。它们相距都是一样的,所以答案是正确的。

在第三个测试用例中,没有出现两次的字母。因此,任何重新安排都是有效的。

来源

[提交][状态]