问答题 给定一个由英文字母组成的字符串s(假设S用数组实现),编制一个递归函数,测试s是否为回文串,“回文串”是指从左向右读该字符串和从右向左读该字符串完全相同,例如:“noon”、“radar”等。【南京大学2005年】
【正确答案】正确答案:算法的基本设计思想:利用递归算法,依次比较字符串中前后位置相对的元素是否相等。当字符串只剩一个元素或者两个元素(判断是否相等)时,递归过程终止。算法的代码: int teSt(char*S,int f,int e){ //f是字符数组S的首元素下标,e是末元素下标 if((e一1==f&&S[f]==S[e])|| f==e) return 1; if(S[f]!=S[e]) return 0, return teSt(S,f+1,e一1); }//teSt
【答案解析】