-1

私はしばらくの間見回してきましたが、私を助けるものは何も見つかりませんでした。1 つのメソッド (メイン メソッド) を使用して配列のサイズと要素を読み取るプログラムを作成する必要があります。次に、「forwardsEqualBackwards」というタイトルの再帰メソッドを作成する必要があります。このメソッドは、配列が順方向に読み取られるか逆方向に読み取られるかに関係なく、配列の要素が同じ方法で読み取れる場合にtrueを返します (回文であるかどうかを確認するためのテストです)。それ以外の場合は false。

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 に答える