Просто вместо печати храните их в списке. Здесь я использовал LinkedList
.
class Permutation {
static LinkedList<String> output= new LinkedList<>(); //<---for storing result
public void permute(String str, int l, int r){
if (l == r) {
// System.out.println(str);
output.addLast(str); //<----store it in the linkedlist
}
else{
for (int i = l; i <= r; i++){
str = swap(str,l,i);
permute(str, l+1, r);
str = swap(str,l,i);
}
}
}
После этого вы можете распечатать результат из Main.
class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
.....
code
....
permutation.permute(str, 0, n-1);
System.out.println(Permutation.output); //<----print the result
}
}