java - java的递归星力

标签 java recursion

我正在尝试回答这个问题,但我似乎无法让它正确返回。我知道这真的很容易,但我似乎无法理解。这是在java中。

写一个递归方法starString接受一个整型参数n 并返回一个长度为 2n(即 2 的 n 次方)的包含星号(星号)的 String 对象。 例如:请忽略用于格式化的破折号。我只需要发回 ""

中的内容

Call--------------------- Output -------------------- Reason

starString(0);------ * -------------------- 2power0 = 1

starString(1);------ ** -------------------- 2power1= 2

starString(2);------ **** --------------------2power2= 4

您可以假设 n>0。注意你的方法体不能使用迭代

这是我所拥有的:

private static String star(int n){
    if (n==0){
        String b ="*";
        return b;
    }
    else {
        String b ="**";
        n-=1;
        star(n);
        return b;
    }
}

最佳答案

试试这个:

private static String startStar(int n) {
    if (n==0) {
        return "*";
    } else {
        return startStar(n-1)+startStar(n-1);
    }
}

关于java - java的递归星力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29697835/

相关文章:

java - 从 JTextArea 中的 xsl 文件打印 '<xsl:message>'

java - 优化 Blade

c - 递归到底是什么并解释一下这个程序的输出?

python - 递归函数名称错误

c++ - N选K、K-N、K-2N等,递归中递归

java - 当您需要更多 Java 堆空间时该怎么办?

java - Spring Boot 不会将文件夹请求映射到 `index.html` 文件

java - 为什么不应该声明一个受继承保护的变量?

c - Unload() 递归 C Segfault(类似 TRIE 的数据库) CS50 pset5

algorithm - 为什么斐波那契数列大 O(2^n) 而不是 O(logn)?