欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

求不同字母全排列两种递归模板

发布时间:2025/6/17 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 求不同字母全排列两种递归模板 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
// ABCDE 所有排列 public class B { // aa: 待排数据// k: 考虑的当前位置(数组下标)static void f(char[] aa, int k){if(k==aa.length-1){System.out.println(String.valueOf(aa));return;}for(int i=k; i<aa.length; i++){{char t=aa[k]; aa[k]=aa[i]; aa[i]=t;} // 试探f(aa,k+1);{char t=aa[k]; aa[k]=aa[i]; aa[i]=t;} // 回溯 }}public static void main(String[] args){f("ABC".toCharArray(), 0);} } import java.util.*; public class A { static List f(String s){List lst = new Vector();if(s.length()==1){lst.add(s);return lst;}for(int i=0; i<s.length(); i++){char x = s.charAt(i);List t = f(s.substring(0,i)+s.substring(i+1));for(int k=0; k<t.size(); k++){lst.add("" + x + t.get(k));}}return lst;}public static void main(String[] args){List lst = f("ABC");for(int i=0; i<lst.size(); i++){System.out.println(lst.get(i));}} }

 

转载于:https://www.cnblogs.com/jizhidexiaobai/p/8594340.html

总结

以上是生活随笔为你收集整理的求不同字母全排列两种递归模板的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。