• 字符串全排列


    public class 字符串全排列
    {
        public static void allSortOfStr(char[] arr, int begin, int end)
        {
            if (begin == end)
            {
                // 只有一个字符进行全排序时,进行输出
                for (int i = 0; i <= end; i++)
                {
                    System.out.print(arr[i]);
                }
                System.out.println();
            }
            else
            {
                for (int i = begin; i <= end; i++)
                {
                    // 交换字符
                    char tempChar = arr[i];
                    arr[i] = arr[begin];
                    arr[begin] = tempChar;
                    // 全排列后续的字符
                    allSortOfStr(arr, begin + 1, end);
                    // 回复原来字符
                    char tempChar2 = arr[i];
                    arr[i] = arr[begin];
                    arr[begin] = tempChar2;
                }
            }
        }

        public static void main(String[] args)
        {
            String str = "abcd";
            char[] arr = str.toCharArray();
            // quanPaiLieOfStr(cha);
            allSortOfStr(arr, 0, 3);
        }

    }

  • 相关阅读:
    TZOJ 4085 Drainage Ditches(最大流)
    [国家集训队2]Tree I
    [USACO17DEC]Push a Box
    专题总结(图论)
    专题总结(分块)
    [noi.ac_D1T2]sort
    [Poi2004]SZN
    [HEOI2016/TJOI2016]求和
    [CF528D]Fuzzy Search
    [bzoj5093]图的价值
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/8267802.html
Copyright © 2020-2023  润新知