-1

我已经四处寻找了一段时间,但我没有找到任何对我有帮助的东西。我必须编写一个程序,它使用一种方法(主要方法)来读取数组的大小/元素。然后我必须编写一个名为“forwardsEqualBackwards”的递归方法,如果数组的元素可以以相同的方式读取,则无论是向前还是向后读取数组,它都会返回true(这是一个测试,看看它是否是回文)和否则为假。

4

2 回答 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 回答