【字符串处理算法】回文判断的算法设计及C代码实现

一、字符需求描述

输入一个字符串,串处编写程序判断这个字符串是理算否是回文串。

为了便于说明,文判设定输入的断的代码字符串分为中文字符串和非中文字符串两种。其中,算法设计实现中文字符串中仅包含中文字符,字符非中文字符串中不包含中文字符。串处

所谓回文串,理算是文判指正读和反读都一样的字符串。下面举几个例子予以说明:

1.“level”是断的代码一个非中文字符的回文串,因为正读和反读都是算法设计实现“level”。

2.“Good”不是字符一个非中文字符的回文串。

3.“我爱我”是站群服务器串处一个中文字符的回文串,因为正读和反读都是理算“我爱我”。

4.“我爱你”不是一个中文字符的回文串。

二、算法设计

对于非中文字符的回文串的判断比较简单,我们只要以字符串的中间为原点,比较前后对应的字符是否相等就可以了;但对于中文字符的回文串的判断要复杂一点,因为一个中文字符占两个字节,我们不能采用非中文字符的回文串的判断方法,而是应该先单独获取每个中文字符,然后再比较一前一后两个字符是企商汇否相等。

程序的总体流程如图1所示。

图1 程序的总体流程

三、特殊流程考虑

在编写程序的过程中,我们要对输入的字符串的长度及格式多做考虑,如:

1.如果输入的字符串中只有一个字符,那么程序直接返回,不执行后续流程,因为回文串中至少有两个及以上的字符。

2.如果输入的中文串中含有非中文字符,或者是输入的非中文串中含有中文字符,那么程序直接返回,不执行后续流程。

四、程序代码

/云服务器
滇ICP备2023000592号-31