57. 回文字符串——递归
有一种特殊形式的字符串,其正反序相同,被称为“回文字符串”。例如LeveL就是一个回文字符串。
输入:
字符串
输出:
Yes或者No
说明:
如输出Yes,说明输入的字符串是一个回文字符串
输出No,说明输入的字符串不是一个回文字符串
请使用递归算法实现。
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
---|---|---|---|---|---|
测试用例 1 | 以文本方式显示
|
以文本方式显示
|
1秒 | 64M | 0 |
测试用例 10 | 以文本方式显示
|
以文本方式显示
|
1秒 | 64M | 0 |
【代码】:
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
static char s[100];
bool magic(int left, int right);
int main() {
gets(s);
printf("%s\n", magic(0, strlen(s)-1) ? "Yes" : "No");
return 0;
}
bool magic(int left,int right)
{
if (left < right) {
if (s[left] != s[right]) return false;
else return magic(left + 1, right - 1);
}
else
return true;
}
标签:right,递归,int,57,字符串,Yes,left,回文 From: https://www.cnblogs.com/alien-han/p/17004341.html