注册 登录
编程论坛 数据结构与算法

大家帮帮忙 回文序列

HanHong 发布于 2011-03-28 18:58, 861 次点击
写一个算法,如何判断一个字符串是不是回文序列?
6 回复
#2
limingzhen902011-03-28 19:26
给你个思路吧,先算字符串长度,然后从0-n/2次比较,头尾比较!
#3
pcbaichi2011-03-28 20:33
写法很多,思路基本差不多
#4
ansic2011-03-29 12:01
程序代码:

#include <stdio.h>
#include <stdbool.h>

int main (void) {

        char str[81];
        bool ishui (char str[]);

//Input a character strings.

        printf ("Enter a string :");
        scanf ("%s",str);

        if(ishui(str)){
                printf ("Yes\n");
        }else{
                printf ("No\n");
        }

        return 0;

}

bool ishui (char str[]) {
        int i=0,j,len=0;
        bool is;

//Get length of chararray
        while(str[len]!='\0') {
                len++;
        }

//Get last element position
        j=len-1;

//Head/tail element     compare
        while(i<=len/2){
                if(str[i]!=str[j]){
                        return is=false;
                }
                i++;
                j--;
        }

        return is=true;

}

#5
枫亭水榭2011-03-29 16:57
#include <stdio.h>
#include <string.h>

int huiwen(char *chars)
{
    int i=0,len=0;
    int flag=1;
    len=strlen(chars);
    while(i<=len/2)
    {
        chars[i++]==chars[len-i-1]?i:flag=0;
    }
   
    return flag;
   
}
void main ()
 {
   
    char str[81];   
    printf ("Enter a string :");
    gets(str);
    huiwen(str)?printf ("Yes\n"):printf ("No\n");   
}

[ 本帖最后由 枫亭水榭 于 2011-3-29 17:00 编辑 ]
#6
HanHong2011-03-29 18:53
回复 4楼 ansic
谢谢!
#7
飞龙锴2011-04-01 20:28
使用栈和队列可以实现
1