回文串
再说一个例子,判断一个序列是否是回文串(形如“level”, "abba"这样的字符串),这个问题也可以分解成解相同的子问题(去掉首尾的字符),仔细分析可以看出,同样也存在两种递归的简单情境,分别为当字符个数为奇数和偶数的情况下,当n=even时,简单情境为空字符串,空字符串也是回文串,当n=odd,简单情境为只有一个字符,同样也为回文串。
//递归判断一个字符串是否为回文串level, abba;
bool isPalinString(int n, char* str)
{
if (n == 1 || n == 0) //两种简单情境
return true;
else return str[0] == str[n-1] ? isPalinString(n-2, str+1): false;
}

浙公网安备 33010602011771号