剑指Offer-28
来源:互联网 发布:南风知我意结局是什么 编辑:程序博客网 时间:2024/05/29 17:28
题目:
输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a、b、c 所能排列出来的所有字符串:abc、acb、bac 、bca、cab 和cba 。
实现
// coding = javapublic class Solution28 { public static void permutation(char[] chars) { // 输入较验 if (chars == null || chars.length < 1) { return; } // 进行排列操作 permutation(chars, 0); } /** * 求字符数组的排列 * * @param chars 待排列的字符串 * @param begin 当前处理的位置 */ public static void permutation(char[] chars, int begin) { // 如果是最后一个元素了,就输出排列结果 if (chars.length - 1 == begin) { System.out.print(new String(chars) + " "); } else { char tmp; // 对当前还未处理的字符串进行处理,每个字符都可以作为当前处理位置的元素 for (int i = begin; i < chars.length; i++) { // 下面是交换元素的位置 tmp = chars[begin]; chars[begin] = chars[i]; chars[i] = tmp; // 处理下一个位置 permutation(chars, begin + 1); } } } public static void main(String[] args) { char[] c1 = {'a', 'b', 'c'}; permutation(c1); System.out.println(); char[] c2 = {'a', 'b', 'c', 'd'}; permutation(c2); }}
阅读全文
1 0
- 剑指offer面试28
- 剑指Offer-28
- 剑指offer面试题28
- 剑指Offer-28-字符串排列
- 剑指OFFER
- 剑指offer
- 剑指Offer
- 剑指offer
- 剑指Offer
- 剑指offer
- 剑指offer
- 剑指offer
- 剑指Offer
- 剑指offer
- 剑指offer
- 剑指Offer
- 剑指offer
- 剑指offer
- 总结三
- 128. Longest Consecutive Sequence
- 内存
- 动态规划略有所得 数字三角形(POJ1163)
- JDK8新特性Lambda入门
- 剑指Offer-28
- 不忘初心,方得始终
- Java 枚举类的基本使用
- ubuntu root 免密码
- 【ztree系列——图标的修改】Bootstrap风格的ztree
- 38_面向对象_11_继承_基本概念
- 集成easeui的图片点击图片不返回
- storage size of ‘XXX’ isn’t known
- G