《原神攻略》2.5版雷神+九條陣容搭配指南
阿新 • • 發佈:2022-03-30
package leetcode; import java.util.ArrayList; import java.util.Arrays; public class offer_38 { public String[] permutation(String s) { //將字串轉換成陣列並排序 char[] ch= s.toCharArray(); Arrays.sort(ch); int[] visited=new int[ch.length]; ArrayList<String> array=newArrayList<String>(); backtrace(ch, new StringBuffer(), array, visited); String[] ss=new String[array.size()]; for (int i = 0; i < ss.length; i++) { ss[i]=array.get(i); } System.out.println(array); return ss; }public void backtrace(char[] ch,StringBuffer sb,ArrayList<String> array,int[] visited) { if(sb.length()==ch.length) { array.add(sb.toString()); } else { for(int i=0;i<ch.length;i++) { if(visited[i]!=0) {continue;}//去除重複 if(i>0&&ch[i]==ch[i-1]&&visited[i-1]==0) {continue;} visited[i]=1; sb.append(ch[i]); backtrace(ch, sb, array, visited); visited[i]=0; sb.deleteCharAt(sb.length()-1); } } } public static void main(String[] args) { // TODO Auto-generated method stub offer_38 off=new offer_38(); off.permutation("abc"); } }