博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Offer——字符串的排列
阅读量:4227 次
发布时间:2019-05-26

本文共 932 字,大约阅读时间需要 3 分钟。

题目描述

输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

import java.util.ArrayList;import java.util.*;public class Solution {    //思路:一个字符串的排列可以分为两个部分来看,第一个部分是第一个字母选择随机某一个字符    //然后剩下的字符再选择剩下的字符作为第一个字符,显然这是一个递归的过程,那么我们分别把    //第一个字符和后面的字符一次交换顺序,就可以得到以不同字符开头的排列,但是这里注意,因    //为存在重复的字符,因此当第一个字符和后面的字符重复的时候,不交换字符    public ArrayList
Permutation(String str) { ArrayList
aList = new ArrayList<>(); if(str == null){ return aList; } PermutationCore(str.toCharArray(),0,aList); Collections.sort(aList); return aList; } public void PermutationCore(char[] chars,int begin, ArrayList
al){ //char[] chars = str.toCharArray(); if(begin == (chars.length-1)){ String s = String.valueOf(chars); if(!al.contains(s)) al.add(s); } else{ for(int i = begin; i

转载地址:http://qsnqi.baihongyu.com/

你可能感兴趣的文章
Python验证码识别
查看>>
机器学习、NLP和Python教程分享
查看>>
AWS Serverless培训分享
查看>>
python生成二维码
查看>>
在ubuntu上搭建文件服务器
查看>>
ServiceFabric: 在Windows上创建容器应用并部署到ServiceFabric中
查看>>
paramiko——一个专门为Linux设计的模块
查看>>
一个有趣的python项目---一个好玩的网站
查看>>
git常用命令总结
查看>>
Protobuf了解一下?
查看>>
超越Selenium的存在---Pyppeteer
查看>>
复仇者联盟4:终局之战剧透
查看>>
Msgpack有没有兴趣了解一下?
查看>>
探索一家神秘的公司
查看>>
PDF转Word完全免费?这么好的事情我怎么不知道????
查看>>
数据解读---B站火过蔡徐坤的“鬼畜“区巨头们
查看>>
Squid代理服务器搭建亿级爬虫IP代理池
查看>>
JupyterNotebook‘s Magic
查看>>
在Linux 上部署Jenkins和项目
查看>>
Python+requests+unittest+excel实现接口自动化测试框架
查看>>