permutations of a string using iteration

前端 未结 7 1842
迷失自我
迷失自我 2020-12-16 14:36

I\'m trying to find permutation of a given string, but I want to use iteration. The recursive solution I found online and I do understand it, but converting it to an iterati

相关标签:
7条回答
  • 2020-12-16 15:06
    // Java program to print all permutations of a
    // given string.
    public class Permutation
    {
        public static void main(String[] args)
        {
            String str = "ABC";
            int n = str.length();
            Permutation permutation = new Permutation();
            permutation.permute(str, 0, n-1);
        }
    
        /**
         * permutation function
         * @param str string to calculate permutation for
         * @param s starting index
         * @param e end index
         */
        private void permute(String str, int s, int e)
        {
            if (s == e)
                System.out.println(str);
            else
            {
                for (int i = s; i <= s; i++)
                {
                    str = swap(str,l,i);
                    permute(str, s+1, e);
                    str = swap(str,l,i);
                }
            }
        }
    
        /**
         * Swap Characters at position
         * @param a string value
         * @param i position 1
         * @param j position 2
         * @return swapped string
         */
        public String swap(String a, int i, int j)
        {
            char temp;
            char[] charArray = a.toCharArray();
            temp = charArray[i] ;
            charArray[i] = charArray[j];
            charArray[j] = temp;
            return String.valueOf(charArray);
        }
    
    }
    
    0 讨论(0)
提交回复
热议问题