Print All The Permutations Of a String

Objective: Given a String, print all the permutations of it.

Input: A String

Output: Print all the permutations of a string


Input : abc


 abc acb bac bca cba cab


  • Take one character at a time and fix it at the first position. (use swap to put every character at the first position)
  • make recursive call to rest of the characters.
  • use swap to revert the string back to its original form fo next iteration.


abc acb bac bca cba cab

4 thoughts on “Print All The Permutations Of a String”

  1. use simple string based program as below

    public class StringPermutations {

    public static void main(String[] args) {

    String s = “abcd”;

    StringPermutations i = new StringPermutations();

    i.permute(“”, s);


    private void permute(String newString, String oriString) {

    if (oriString == null || oriString.isEmpty()) {

    System.out.println( newString);


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

    permute(newString.concat(oriString.substring(i, i + 1)), oriString

    .substring(0, i).concat(oriString.substring(i + 1)));




  2. Hello Team,

    It is a nice work.

    One suggestion to this post: We do not need second swap and when left and size are equal then just print the string. we do need to iterate with for loop


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.