java - 你会如何递归地编写这段代码?

标签 java

我自己编写了这段代码,但我对递归很陌生,我需要一些帮助来更改此代码,以便它是递归的。我从一个基本案例开始。我试图编写代码来检查两个字符串并查看其是否相同。

    public static boolean check(String s1, String s2) {
    int count = 0;
    if (s1.length() != s2.length()) {
        return false;
    else {
       for (int i=0; i< s1.length(); i++){
           if(s1.charAt(i) != s2.charAt(i)) 
                return false;
           count = i;
       }
       if(count == s1.length()-1)
            return true;
    }
    return false;
}

最佳答案

count 变量是不必要的。您可以用递归调用替换 for 循环:

public static boolean check(String s1, String s2) {
    if (s1.length() != s2.length())
        return false;
    return check(s1, s2, 0);
}

private static boolean check(String s1, String s2, int i) {
    // this is up to you
    return check(s1, s2, i+1);
}

编辑:刚刚看到作业标签

关于java - 你会如何递归地编写这段代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9696270/

相关文章:

java - 如何在 Linux 中以编程方式列出所有 SSL/TLS 证书?

java - 无法通过 java api 将 google 格式的图像文件上传到 Google Doc

java - 为什么我无法在运行 JAR 之前加载所需的库?

java - 如何将一个对象保存在 Jackrabbit 存储库中,将 map 作为一个字段?

java - 使用 JAXB 编码内部类 - Java

java - AdMobs 横幅 : W/GooglePlayServicesUtil﹕ Google Play services is missing

java - 每 20 次在新行中打印数组的值

java - Android MediaRecorder/Player无法录制或无法播放

java - Java HashMap对象的并发访问

java - 重写java中的泛型方法