【发布时间】:2019-04-15 14:27:15
【问题描述】:
基本上我有关于递归的大学工作,但我在解决这个问题时遇到了问题。我必须创建两种方法,一种称为 getLastElement 和 isSymmetric。 getLastElement 只能访问数组中的索引 0。如果数组是对称的或为 0,isSymmetric 必须打印 true。 它必须使用array[0] 和array.length。它也可以使用 Arrays.copyOfRange()
我已经制作了 isSymmetric 但没有 getLastElement 并且我认为我遗漏了一些东西,因为我不知道如何将 getLastElement 合并到其中。我知道我没有使用 array[0],但我无法让代码使用它。
这是我的代码:
public static int isSymmetric(int array[], int begin, int end)
{
if (begin >= end) {
return 1;
}
if (array[begin] == array[end]) {
return isSymmetric(array, begin + 1, end - 1);
}
else {
return 0;
}
}
public static void main (String[] args) {
int array[] = { 1, 2, 3, 2, 1 };
if (isSymmetric(array, 0, array.length - 1) == 1)
System.out.print( "true");
else
System.out.println( "false");
}
我只想像现在一样打印,但将 getLastElement 合并到 isSymmetric 中。
【问题讨论】:
-
你能解释一下你的
getLastElement函数吗? -
它说它仅限于访问索引 0 元素。这是我老师给我的pdf上唯一写的东西。对不起,如果您看不懂,我是用我的语言翻译的,它可能失去了一些意义。
-
我认为问你这个问题的人希望你在函数
isSymmetric()中创建一个新数组,其中包含输入数组的所有元素,除了第一个和最后一个元素。虽然你正在做的是传递整个数组,并告诉函数从哪里开始和在哪里结束。