例如字符串为【好好好】,单个字符都是相同的一个【好】字,那么这个字符串是没有办法进行全排列的,因为没有意义,故而需要加上这个判断。
package Action; public class test { public static void main(String[] args) { String s = "好好好"; char[] array = s.toCharArray(); int count = 0; for (int i = 0; i < array.length - 1; i++) { if (array[i] == array[i + 1]) { count++;//每次累加例如长度是10,那么比较9次,所以length-1 } } System.out.println(count == array.length - 1); } }
true代表这个字符串就是完全相同的一个字符。
package Action; public class test { public static void main(String[] args) { String s = "12321"; char[] array = s.toCharArray(); int count = 0; for (int i = 0; i < array.length - 1; i++) { if (array[i] == array[i + 1]) { count++;//每次累加例如长度是10,那么比较9次,所以length-1 } } System.out.println(count == array.length - 1); } }
这种就不是一样的了,就能进行全排列操作了。
其实最好就是每个字符都不一样的进行全排列。