黑马程序员技术交流社区

标题: 如何用递归实现,在控制台打印出abc的全排列 [打印本页]

作者: 1018chenhaiyang    时间: 2015-11-28 21:25
标题: 如何用递归实现,在控制台打印出abc的全排列
abc,acb,bac...........................想不出来啊。
作者: 洛荣神川    时间: 2015-11-28 22:51
  1. public class test {  
  2.       
  3.     static int c = 0;  
  4.   
  5.     public static void main(String[] args) {  
  6.         String s = "abcd";  
  7.         printAllArray(s);  
  8.     }  
  9.   
  10.     private static void printAllArray(String s) {  
  11.         printAllArray(s, "");  
  12.     }  
  13.   
  14.     private static void printAllArray(String s, String n) {  
  15.         if (s.length() == 0) {  
  16.             System.out.println(n + "  ---  " + ++c);  
  17.         } else {  
  18.             for (int i = 0; i < s.length(); ++i) {  
  19.                 printAllArray(s.substring(1), n + s.charAt(0));  
  20.                 s = s.substring(1) + s.charAt(0);  
  21.             }  
  22.         }  
  23.     }
  24. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2