¸üÐÂʱ¼ä:2023Äê09ÔÂ06ÈÕ09ʱ32·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

¡¡¡¡ÔÚJavaÖУ¬¿ÉÒÔʹÓõݹéµÄ·½·¨À´´òÓ¡Ò»¸ö×Ö·û´®µÄËùÓÐÅÅÁС£ÒÔÏÂÊÇÒ»¸öÏêϸµÄʾÀý£¬½«»áչʾÈçºÎ×öµ½ÕâÒ»µã¡£
public class StringPermutations {
public static void main(String[] args) {
String input = "abc"; // ÒªÅÅÁеÄ×Ö·û´®
permute(input, 0, input.length() - 1);
}
public static void permute(String str, int left, int right) {
if (left == right) {
System.out.println(str);
} else {
for (int i = left; i <= right; i++) {
str = swap(str, left, i); // ½»»»×Ö·û
permute(str, left + 1, right); // µÝ¹éµ÷ÓÃ
str = swap(str, left, i); // »Ö¸´Ôʼ˳Ðò£¬ÒÔ±ãÏÂÒ»´ÎÑ»·
}
}
}
public static String swap(String str, int i, int j) {
char[] charArray = str.toCharArray();
char temp = charArray[i];
charArray[i] = charArray[j];
charArray[j] = temp;
return String.valueOf(charArray);
}
}
¡¡¡¡Õâ¸ö³ÌÐòʹÓÃÁ˵ݹ鷽·¨permuteÀ´Éú³É×Ö·û´®µÄËùÓÐÅÅÁС£Ê×ÏÈ£¬Ëü¼ì²éleftÊÇ·ñµÈÓÚright£¬Èç¹ûÏàµÈ£¬ËµÃ÷ÒѾÉú³ÉÁËÒ»¸öÍêÕûµÄÅÅÁУ¬È»ºó½«Æä´òÓ¡³öÀ´¡£·ñÔò£¬Ëü»á±éÀú´Óleftµ½rightµÄ×Ö·û£¬Ã¿´ÎÑ¡ÔñÒ»¸ö×Ö·ûÓ뵱ǰλÖõÄ×Ö·û½øÐн»»»£¬È»ºóµÝ¹éµ÷ÓÃpermuteº¯Êý£¬È»ºóÔٴλָ´Ôʼ˳Ðò£¬ÒÔ±ã½øÐÐÏÂÒ»´ÎÑ»·¡£
¡¡¡¡ÔËÐÐÉÏÊö´úÂ룬ÎÒÃǽ«»áµÃµ½ÈçÏÂÊä³ö£º
abc acb bac bca cab cba
¡¡¡¡ÕâÊÇ×Ö·û´® "abc" µÄËùÓÐÅÅÁС£ÎÒÃÇ¿ÉÒÔ½«Õâ¸öʾÀýÓÃÓÚÈÎºÎÆäËû×Ö·û´®À´Éú³ÉÆäÅÅÁС£Çë×¢Ò⣬¶ÔÓڽϳ¤µÄ×Ö·û´®£¬ÅÅÁеÄÊýÁ¿»áÖ¸Êý¼¶Ôö³¤£¬¿ÉÄܻᵼÖÂÔËÐÐʱ¼ä½Ï³¤¡£
JavaÈçºÎʵÏÖ½Ó¿Ú£¿JDK8ÐÂÔö½Ó¿Ú·½·¨
2023-08-31ÈçºÎÀí½âJava΢·þÎñ¼Ü¹¹ÖеÄÓïÒå¼à¿Ø?_java΢·þÎñ»ù´¡
2023-08-31SOAºÍ΢·þÎñ¼Ü¹¹Ö®¼äµÄÖ÷񻂿±ðÊÇʲô?_java΢·þÎñ»ù´¡
2023-08-31Spring FrameworkÓÐÄÄЩ²»Í¬µÄ¹¦ÄÜ?_java¿ò¼Ü֪ʶ
2023-08-30¹¹ÔìÆ÷×¢ÈëºÍsetterÒÀÀµ×¢È룬ÄÄÖÖ·½Ê½¸üºÃ?
2023-08-30ÎÒÃÇ¿ÉÒÔÔÚhashcode()ÖÐʹÓÃËæ»úÊý×ÖÂð?
2023-08-29
±±¾©Ð£Çø