我已经四处寻找了一段时间,但我没有找到任何对我有帮助的东西。我必须编写一个程序,它使用一种方法(主要方法)来读取数组的大小/元素。然后我必须编写一个名为“forwardsEqualBackwards”的递归方法,如果数组的元素可以以相同的方式读取,则无论是向前还是向后读取数组,它都会返回true(这是一个测试,看看它是否是回文)和否则为假。
问问题
174 次
2 回答
2
伪代码:
bool forwardsEqualBackwards(array a, int length, int indexToLookAt=0)
{
if (indexToLookAt >= length-indexToLookAt-1)
return true; //reached end of recursion
if (a[indexToLookAt] == a[length-indexToLookAt-1])
return forwardsEqualBackwards(a,length, indexToLookAt+1); //normal recursion here
else
return false;
}
forwardsEqualBackwards("",0); //returns true
forwardsEqualBackwards("a",1); //returns true
forwardsEqualBackwards("otto",4); //returns true
forwardsEqualBackwards("otsto",5); //returns true
forwardsEqualBackwards("otstou",5); //returns false
于 2012-11-29T07:36:01.417 回答
1
bool method(int start, int end)
{
if(start<=end)
{
if(Array[start]!=array[end])
return false;
return method(start+1, end-1)
}
return true;
}
于 2012-11-29T07:37:12.463 回答