判断是否为回文

//判断是否为回文——判断用户输入的字符串是否为回文。回文是指正反拼写形式都是一样的词,譬如“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 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

ORA-00932: inconsistent datatypes: expected - got CLOB

      最近数据库从10.2.0.3升级到了10.2.0.5之后,一些对象无法编译通过。查看了这些对象主要表现在之前写法不严格的SQL语法导致了这些pack...

823
来自专栏乐沙弥的世界

排序规则引起的冲突问题

最近在工作中碰到一例因排序规则而导致的冲突问题,运行环境是SQL 2008,具体代码如下:

652
来自专栏pangguoming

Sequence在Oracle中的使用

  Oracle中,当需要建立一个自增字段时,需要用到sequence。sequence也可以在mysql中使用,但是有些差别,日后再补充,先把oracle中s...

522
来自专栏乐沙弥的世界

Oracle Scheduler Chain 的用法

      Oracle CHAIN,也就是链,是将一串需要完成的作业连在一起,根据每一个步骤完成的不同结果来确定下面的哪一个动作需要被完成。实际上也就是if ...

571
来自专栏技术博文

mysql UNIX时间戳与日期的相互转换

UNIX时间戳转换为日期用函数: FROM_UNIXTIME() select FROM_UNIXTIME(1156219870); 日期转换为UN...

3598
来自专栏杨建荣的学习笔记

原来Oracle也不喜欢“蜀黍"(r6笔记第54天)

今天在部署一个脚本的时候,碰到了一个奇怪的问题,脚本运行过程中报了一个ora错误 ORA-01756: quoted string not properly t...

2605
来自专栏H2Cloud

使用ffpython嵌入和扩展python

ffpython ffpython is a c++ lib,which is to simplify task that embed python and e...

3948
来自专栏帘卷西风的专栏

关于mysql存储过程创建动态表名及参数处理

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 

533
来自专栏听雨堂

Mysql高效插入/更新数据

从tushare抓取到的财务数据,最开始只是想存下来,用的办法想简单点,是:插入--报错—update 但发现这个方法太蠢,异常会导致大量无效连接,改为: ...

1815
来自专栏Django Scrapy

day2 oracle相关

数据库定义有三: 1 一门计算机学科 2 代表某个软件 3 某一种数据库软件产生的集合 DDL 数据库定义语句 DML 数据库操作语句 创建一张表: ...

2979

扫描关注云+社区