对字符串进行排序,使相邻位置上没有两个相同的字符

时间:2014-09-04 08:47:26

标签: java arrays string algorithm sorting

所以我需要创建一个重组字符串的java程序,以便相邻的地方没有两个相同的字母。如果可能的话,它也会将字符串按字母顺序排列。例如

System.out.println(reorganizeString("AAABBB")); would print ABABAB
System.out.println(reorganizeString("CBAED")); would print ABCDE
System.out.println(reorganizeString("AXAXA")); would print AXAXA

我一直在尝试这个或者像4个小时或者一些,但我似乎无法制作出适用于每个字符串的算法。现在我已经玩弄了循环字符串并删除其他字符或相邻字符串并将其添加到数组中的想法,之后我就会将该数组中的字符插入到正确的位置。就像我有AA然后我会删除其他A并将其添加到数组并继续这样做,直到第一个没有任何相同的相邻字符,然后开始将它们添加到数组中的新位置。我们可以假设我们使用的所有字符串都有解决方案。

有人可以提供有关如何更好地做到这一点的任何提示吗?在Java中是否有一些我不了解的好方法?

0 个答案:

没有答案