判断是否为回文

//判断是否为回文——判断用户输入的字符串是否为回文。回文是指正反拼写形式都是一样的词,譬如“racecar”。
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

bool IsPlalindromeW(const wchar_t* str)
{
	size_t len = wcslen(str);
	for (int i = 0; i < len; ++i)
	{
		if (str[i] != str[len - i - 1])
			return false;
	}
	return true;
}

bool IsPlalindrome(const char* str)
{
	if (str == NULL)
		return false;
	setlocale(LC_ALL, "chs");
	int len = mbstowcs(NULL, str, NULL);
	if (len <= 0)
		return false;
	wchar_t* dst = new wchar_t[len + 1];
	int change = mbstowcs(dst, str, len + 1);
	bool bRes = IsPlalindromeW(dst);
	delete[] dst;
	setlocale(LC_ALL, "");
	return bRes;
}

int main(int argc, char* argv[])
{
	char* str = "斗鸡山上山鸡斗";
	cout << boolalpha;
	cout << IsPlalindrome(str) << endl;
	system("pause");
	return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区