剑指offer——27.字符串排列
来源:互联网 发布:qq盗号软件 编辑:程序博客网 时间:2024/05/16 01:03
题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
代码
思路:使用递归方法,n个元素的全排列 = (n-1) 个元素全排列 + 一个元素作为前缀。
function Permutation(str){ // write code here var result=[]; if(str.length<=0){ return []; } var sortTemp=''; var arr = str.split(''); result=sortString(arr,sortTemp,[]); return result}function sortString(arr,sortTemp,result){ if(arr.length==0){ result.push(sortTemp) }else{ var isRepeat={}; for(var i=0;i<arr.length;i++){ if(!isRepeat[arr[i]]){ var temp=arr.splice(i,1)[0];//取出第一个字符 sortTemp+=temp; sortString(arr,sortTemp,result); arr.splice(i,0,temp);//补全 sortTemp=sortTemp.slice(0,sortTemp.length-1)//清空 isRepeat[temp]=true; } } } return result;}
阅读全文
0 0
- 剑指offer——27.字符串排列
- 剑指Offer—字符串排列
- 《剑指offer》——字符串的排列
- 剑指offer——字符串的排列
- 剑指offer——字符串的排列
- 剑指offer——字符串的排列
- 剑指offer—字符串的排列
- 剑指offer(27)—字符串的排列
- 剑指offer:字符串排列
- 剑指offer--字符串排列
- 剑指offer-27.字符串的排列
- [剑指Offer] 27.字符串的排列
- 剑指offer——面试题28:字符串的排列
- 剑指Offer——(27)字符串的排列
- 剑指Offer—27—字符串的排列
- 剑指offer 面试题28—字符串的排列
- 剑指Offer—编程题28(字符串的排列)
- 剑指offer系列—T28字符串的排列
- kafka集群部署
- Hibernate-主键查询、HQL查询,Criteria以及本地SQL查询
- 遇到ORA-01207: 文件比控制文件更新
- Netty的组件和设计
- Friend-Graph(中国大学生程序选拔赛2017年网络大赛)
- 剑指offer——27.字符串排列
- 媒体查询响应式布局
- Linux下与Windows的文件共享
- 如何花三年的时间获得十年经验
- struts2修改Fileupload文件大小限制
- 创建ajax对象
- Laravel手动返回错误码
- Game of Credit Cards (Codeforces-777B)
- 远程连接服务器