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

时间:2016-02-02 07:37:44

标签: java arrays recursion

我坚持使用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);
}

2 个答案:

答案 0 :(得分:0)

提示:

  • 空的或1个字符的字符串是回文。
  • 如果第一个和后面的字符是相同的,那么字符串就是一个回文并且......你会弄明白其余部分。
  • 递归算法中的一个常见模式是使用辅助函数来完成工作。

答案 1 :(得分:0)

感谢您提供的所有重要提示和建议,只修改了我的代码并完成了这一操作!

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);
}