反转字符.递归算法

     今天上午面试的时候遇到一道笔试算法题,题目如下

     编写一个方法用于验证指定的字符串是否为反转字符,返回true和false。请用递归算法实现。(反转字符串样式为"abcdedcba")

     我写的代码如下,不知道我这种写法是否合格。

string a = string.Empty, b = string.Empty;

protected bool Method(string str,int index)
{
int length = str.Length - 1;

if (index > length) return false;

string strNew = str.Substring(index,1);

if (!a.Contains(strNew))
a
+= strNew;
else {
string c = b;
b
= strNew + c;
}

index
++;

if (index <= length)
Method(str,index);

return a.Substring(0, a.Length - 1) == b;
}

调用方式:
Method(
"abcdedcba",0);

不知道各位高手还有没有更好的写法!    

posted @ 2011-02-15 14:54  MR CO  阅读(1015)  评论(17编辑  收藏  举报