五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

字符串全排列

2023-06-09 10:05 作者:碼頭薯條Pro  | 我要投稿

題目說明

輸入一個字符串,按字典序打印出該字符串中字符的所有排列。?

例如輸入字符串a(chǎn)bc,則按字典序打印出由字符a,b,c 所能排列出來的所有字符串a(chǎn)bc,acb,bac,bca,cab和cba。

練習地址

???https://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7?

力扣 https://leetcode.cn/problems/permutations/


代碼

public class 字符串全排列 {

? ? public static void main(String[] args) {

? ? ? ? String ab = "abc";

? ? ? ? String? a="AaaaAA";

? ? ? ? String s = a.toLowerCase();

? ? ? ? Permutation(ab);

? ? }


? ? static ArrayList<String> res = new ArrayList<>();


? ? public static ArrayList<String> Permutation(String str) {

? ? ? ? char[] tmp = str.toCharArray();

? ? ? ? reserve(tmp, 0, tmp.length);

? ? ? ? ArrayList<String> ans = new ArrayList<>(new HashSet<>(res));

? ? ? ? Collections.sort(ans);

? ? ? ? return ans;

? ? }


? ? public static void reserve(char[] arr, int index, int length) {

? ? ? ? if (index == length) {

? ? ? ? ? ? System.out.println(change(arr));

? ? ? ? ? ? res.add(change(arr));

? ? ? ? ? ? return;

? ? ? ? }

? ? ? ? for (int i = index; i < length; i++) {

? ? ? ? ? ? char tem = arr[i];

? ? ? ? ? ? arr[i] = arr[index];

? ? ? ? ? ? arr[index] = tem;

? ? ? ? ? ? reserve(arr, index + 1, length);

? ? ? ? ? ? tem = arr[i]; // 其實就是去為了消除當前層去遞歸的時候的進行交換字符的影響,

? ? ? ? ? ? //如果不消除的話,那么就會造成原index位置的字符發(fā)生變化

? ? ? ? ? ? arr[i] = arr[index];

? ? ? ? ? ? arr[index] = tem;

? ? ? ? }

? ? }


? ? public static String change(char[] arr) {

? ? ? ? StringBuilder ans = new StringBuilder();

? ? ? ? for (int i = 0; i < arr.length; i++) {

? ? ? ? ? ? ans.append(arr[i]);

? ? ? ? }

? ? ? ? return ans.toString();

? ? }

}




字符串全排列的評論 (共 條)

分享到微博請遵守國家法律
敦化市| 海宁市| 措勤县| 定襄县| 兴文县| 黔江区| 绿春县| 黎平县| 个旧市| 剑河县| 柘城县| 马山县| 平乐县| 怀来县| 明水县| 唐海县| 云南省| 通州市| 陵川县| 长岛县| 开远市| 镇宁| 伊宁市| 桦甸市| 额敏县| 五家渠市| 嫩江县| 获嘉县| 天峻县| 沂水县| 延安市| 闽侯县| 华安县| 侯马市| 青州市| 济南市| 通化县| 保靖县| 仲巴县| 安新县| 杭锦后旗|