• 欢迎光临~

57. 回文字符串——递归

开发技术 开发技术 2022-12-25 次浏览

57. 回文字符串——递归

    有一种特殊形式的字符串,其正反序相同,被称为“回文字符串”。例如LeveL就是一个回文字符串。

输入:
          字符串

输出:
          Yes或者No

说明:
          如输出Yes,说明输入的字符串是一个回文字符串
          输出No,说明输入的字符串不是一个回文字符串
          请使用递归算法实现。

  测试输入 期待的输出 时间限制 内存限制 额外进程
测试用例 1 以文本方式显示
  1. LeveL↵
以文本方式显示
  1. Yes↵
1秒 64M 0
测试用例 10 以文本方式显示
以文本方式显示
  1. Yes↵
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("%sn", 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;
}

 

程序员灯塔
转载请注明原文链接:57. 回文字符串——递归
喜欢 (0)