To find All combinations of a string is another commonly asked Interview question.
Below is my code for finding all the combinations of a given string with explanation:
Below is my code for finding all the combinations of a given string with explanation:
public class AllStringCombinations {
// taking String Builder object as we need to modify many time
private StringBuilder outputString = new StringBuilder();
private final String inputString;
/*
*Constructor
*/
public AllStringCombinations( final String str ){
inputString = str;
System.out.println("The input string is : " + inputString);
}
public static void main (String args[])
{
AllStringCombinations allStringCombinations =
new AllStringCombinations("wxyz");
System.out.println("");
System.out.println("All possible combinations are : ");
System.out.println("");
allStringCombinations.getCombination(0);
}
/*
*Method to print all possible combinations recursively
*/
public void getCombination(int start) {
for( int i = start; i <= inputString.length()-1; ++i ){
outputString.append( inputString.charAt(i) );
System.out.println( outputString );
if ( i <= inputString.length() )
// Recursive call
getCombination( i + 1);
outputString.setLength( outputString.length() - 1 );
}
}
}
OUTPUT:
===========================================================================
The input string is : wxyz
All possible combinations are :
w
wx
wxy
wxyz
wxz
wy
wyz
wz
x
xy
xyz
xz
y
yz
z
No comments :
Post a Comment