题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
实现语言:Java
import java.util.ArrayList;import java.util.HashSet;import java.util.Collections;public class Solution { public ArrayListPermutation(String str) { ArrayList res=new ArrayList (); if(str.isEmpty()||str.length()==0){ return res; } HashSet set=new HashSet (); helper(set,str.toCharArray(),0); res.addAll(set); Collections.sort(res); return res; } private void helper(HashSet set,char[] s,int k){ if(k==s.length){ set.add(new String(s)); return; } for(int i=k;i