Problem definition is available here
Here is a Java implementation.
Please let me know if , you feel something wrong about code.
import java.util.*;
class Main{
StringBuilder swap(StringBuilder str,int l,int r){
char templ=str.charAt(l);
char tempr=str.charAt(r);
str.setCharAt(l,tempr);
str.setCharAt(r,templ);
return str;
}
void permute(StringBuilder str,int l){
if(l==(str.length()-1)){
System.out.println(str);
}
else{
for(int i=l;i<str.length();i++){
swap(str,l,i);
permute(str,l+1);
swap(str,l,i);
}
}
}
public static void main(String args[]){
Scanner s =new Scanner(System.in);
String st=s.next();
StringBuilder str=new StringBuilder(st);
Main m =new Main();
m.permute(str,0);
}
}
Here is a Java implementation.
Please let me know if , you feel something wrong about code.
import java.util.*;
class Main{
StringBuilder swap(StringBuilder str,int l,int r){
char templ=str.charAt(l);
char tempr=str.charAt(r);
str.setCharAt(l,tempr);
str.setCharAt(r,templ);
return str;
}
void permute(StringBuilder str,int l){
if(l==(str.length()-1)){
System.out.println(str);
}
else{
for(int i=l;i<str.length();i++){
swap(str,l,i);
permute(str,l+1);
swap(str,l,i);
}
}
}
public static void main(String args[]){
Scanner s =new Scanner(System.in);
String st=s.next();
StringBuilder str=new StringBuilder(st);
Main m =new Main();
m.permute(str,0);
}
}
static void display(char[] array){
ReplyDeletefor(int i=0;i<array.length;i++)
System.out.print(array[i]+" ");
System.out.println();
}
static void permutate(char[] array,int start){
if(start==array.length){
display(array);
return;
}
for(int i=start;i<array.length;i++){
char temp=array[start];
array[start]=array[i];
array[i]=temp;
permutate(array,start+1);
temp=array[start];
array[start]=array[i];
array[i]=temp;
}
}