参考代码:
import java.util.Arrays; import java.util.Scanner; public class Main{ static String st; static char[] cha; static char ch[] ; static boolean[] bo; static int count = 0; public static void main(String[] args) { Scanner sc = new Scanner(System.in); st = sc.next(); ch = st.toCharArray(); bo = new boolean[ch.length]; cha = new char[ch.length]; Arrays.sort(ch); dfs(0); } private static void dfs(int k) { if (k == ch.length){ String s = new String(cha); // 字符数组转字符串 if (st.equals(s)){ System.out.println(count); } count++; } for (int i = 0; i < ch.length; i++) { if (bo[i]){ continue; } bo[i] = true; cha[k] = ch[i]; dfs(k+1); bo[i] = false; } } }
0.0分
1 人评分
小九九 (C语言代码)浏览:527 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:623 |
字符串的输入输出处理 (C语言代码)浏览:2020 |
C二级辅导-求偶数和 (C语言代码)浏览:603 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2783 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2080 |
本人酷爱递归实现很多问题,这里也是浏览:549 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:562 |
1011题解浏览:760 |
1035 题解浏览:778 |