使用String []方法的递归方法java

时间:2015-09-12 14:59:55

标签: java recursion

我正在研究java代码,但我无法解决它。

练习:

在java中创建一个名为String [] Yolo (int n)的递归方法。只允许一个参数。该方法应返回数组中的所有可能选项。因此,如果您调用方法Yolo(2),则应打印方法:

YoYo, 
YoLo, 
LoYo, 
LoLo. 

为了使参数为3更清楚,它应该是:

YoYoYo, 
YoYoLo, 
YoLoYo, 
YoLoLo
.....

到目前为止,这是我的代码:

public static String[] Yolo (int n){
    String yo = "yo";
    String lo = "lo";
    String[]  yolo = {};

    return Yolo(n); 
}

1 个答案:

答案 0 :(得分:0)

  1. 基本情况是:当n = 1时,yolo返回yo,lo。
  2. 其他     n值你递归调用yolo方法,每次追加哟     和字符串到结果
  3. 中的每个字符串

    public static String[] yolo(int n){
        String yo = "yo";
        String lo = "lo";
        if (n == 1){
            return new String[] {yo ,lo};
        }
        List<String> list = new ArrayList<String>(); 
        for (String s : yolo(n-1)){
            list.add(s + yo);
            list.add(s + lo);
        }
        return list.toArray(new String[0]);
    }