我正在尝试使用递归树来解决它,但是当我再次收到相同的输入并导致StackOverflowError
时,基本条件失败了
import java.util.*;
import java.lang.*;
import java.io.*;
class GFG {
public static void fun(String input, String output) {
if (input.length() == 0) {
System.out.println(output);
return;
}
String output1 = output;
String output2 = output + Character.toString(input.charAt(0));
String input1 = input.substring(1) + Character.toString(input.charAt(0));
String input2 = input.substring(1);
fun(input1, output1);
fun(input2, output2);
}
public static void main (String[] args) {
Scanner s = new Scanner(System.in);
int q = s.nextInt();
for(int c = 0; c < q; c++) {
String input = s.next();
String output = "";
fun(input, output);
}
}
}