剑指offer-面试题28-字符串的排列
来源:互联网 发布:淘宝手绘照片是真的吗 编辑:程序博客网 时间:2024/05/17 18:47
题目描述:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c 所能排列出来的所有字符串abc,acb,bac ,bca,cab 和cba 。
题目分析:可以分成两步。第一步求所有可能出现在第一个位置的字符,即把第一个字符和后面所有的字符交换。第二步固定第一个字符,求后面所有字符的排列。这时候再把后面的字符分成两部分,后面字符的第一个字符以及这个字符之后的所有字符。以此类推。
//字符串的所有排列 public static void Permutation(char[] str) { if (str == null || str.length < 1) { return; } Permutation(str,0); } public static void Permutation(char[] str, int start) { if (start == str.length - 1) {//递归结束的判断,最后一个元素 System.out.println(new String(str)); } else { char temp; for (int i = start; i < str.length; i++) { temp = str[start]; str[start] = str[i]; str[i] = temp; Permutation(str, start + 1); } } }
0 0
- 剑指offer面试题 字符串的排列
- 剑指offer面试题28字符串的所有排列permutation
- [剑指offer][面试题28]字符串的排列
- 【剑指offer】面试题28:字符串的排列
- 剑指Offer:面试题28 字符串的排列
- 剑指offer 面试题28—字符串的排列
- 《剑指Offer》面试题28:字符串的排列
- 《剑指Offer》学习笔记--面试题28:字符串的排列
- 剑指offer--面试题28:字符串的排列--Java实现
- 剑指offer--面试题28:字符串的排列--Java实现
- 【剑指Offer学习】【面试题28 :字符串的排列】
- 剑指offer面试题28-字符串的排列
- 剑指offer-面试题28:字符串的排列
- 剑指offer 面试题28:字符串的排列
- 剑指offer之面试题28:字符串的排列
- 剑指offer之面试题28字符串的排列
- 剑指Offer----面试题28:字符串的排列 & 去重
- 剑指offer面试题28:字符串的排列
- 欢迎使用CSDN-markdown编辑器
- JavaScript DOM
- RecyclerView实现侧滑删除和拖拽排序
- C# 斐波那契数列
- 最小割树Gomory-Hu tree
- 剑指offer-面试题28-字符串的排列
- 谈浮躁
- 移动端Touch事件与H5-Canvas像素点检测实现刮刮乐
- 打砖块
- 数据库笔试题及答案
- arm-eabi-addr2line 使用解析crash位置
- PAT 1004 Counting Leaves
- Bootstrap modal 被遮挡
- 使用备忘录的方法计算组合,例如计算C(n,k).