如何递归检查java数组回文?

如何递归检查java数组回文?,java,arrays,recursion,Java,Arrays,Recursion,我被困在一个java赋值中,其中要求我设计一个递归回文方法,该方法检查整数数组,如果是回文,则返回true,如果不是,则返回false。到目前为止,我知道基本情况是,如果数组为空,或者只有一个元素,则返回true。但我不知道如何从剩下的开始。请帮忙!非常感谢。 这就是我到目前为止所做的: public boolean isPalindrome(int[] array, int start, int end) { if(array.length == 0 || array.length =

我被困在一个java赋值中,其中要求我设计一个递归回文方法,该方法检查整数数组,如果是回文,则返回true,如果不是,则返回false。到目前为止,我知道基本情况是,如果数组为空,或者只有一个元素,则返回true。但我不知道如何从剩下的开始。请帮忙!非常感谢。 这就是我到目前为止所做的:

public boolean isPalindrome(int[] array, int start, int end)
{
    if(array.length == 0 || array.length == 1)
        return true;

    if(start >= end)
        return true;

    if(array[start] != array[end])
        return false;

    return palindrome(array, start + 1, end -1);
}
提示:

空字符串或1字符字符串是回文。 如果第一个字符和后面的字符相同并且。。。剩下的你自己解决。 递归算法中的一种常见模式是使用一个辅助函数来完成这项工作。
感谢所有的提示和建议,刚刚修改了我的代码,它成功了

public boolean isPalindrome(int[] array, int start, int end)
{
    if(array.length == 0 || array.length == 1)
        return true;

    if(start >= end)
        return true;

    if(array[start] != array[end])
        return false;

    return isPalindrome(array, start + 1, end -1);
}

你可以从第一步开始分析问题第二步通过编写代码来实现你的分析我认为你应该能够解决这个问题。递归的本质是通过在较小的输入上解决相同的问题来解决问题。在本例中,是一个较小的数组。试着在纸上写一些3和4元素的回文数组,看看你能不能把它简化成一个小问题。@statefi抱歉,这不太正确;这是一个问答网站。有很多问题和答案。这一页的底部写着你知道谁能回答吗?共享指向此问题的链接。。。。我们只是不喜欢有人要求我们在他们自己动手之前告诉他们如何编写代码。@ajb:亲爱的ajb,你知道我的意思,我们不回答人们如何编写家庭作业和编程项目。实际上,我们帮助他们解决代码中的问题。问诸如如何实现算法之类的问题不是更好吗。。。在其他堆栈交换站点,如CS或programmers?@statefi,我同意这对StackOverflow不是一个好问题。但我认为,说这不是一个问答网站太过分了,可能会让那些有好问题的人感到困惑。