首页 > 试题广场 >

回文是指正读和反读均相同的字符序列,如“abba”和“abc

[问答题]
回文是指正读和反读均相同的字符序列,如“abba”和“abcba”均是回文。试写一个算法判断给定字符串是否是回文。
public boolean isHuiWen(String str){
        if(str==null) return false;
        int len = str.length();
        if(len==1){
            return true;
        }
        char headStr ;
        char tailStr ;
        for(int i=0;i<len;i++){
            headStr = str.charAt(i);
            tailStr = str.charAt(len-i-1);
            if(headStr!=tailStr){
                return false;
            }
        }
        return true;
    }
发表于 2019-04-17 21:41:20 回复(0)
#include<stdio.h>
#include<string.h>
char s[100];
int main()
{
    while(~scanf("%s",s))
    {
        int l=strlen(s);
        int middle=(l+1)/2;
        int flag=0;
        for(int i=0,j=l-1; i<middle&&j>middle; i++,j--)
        {
            if(s[i]!=s[j])
            {
                flag=1;
                break;
            }
        }
        if(flag)
            printf("不是回文字符串\n");
        else
            printf("是回文字符串\n");
    }
    return 0;
}
 
发表于 2018-09-23 14:38:34 回复(0)

考虑字符串是null的情况

发表于 2019-07-05 14:24:20 回复(0)
content = input("请输入你要进行判断的字符:") # 进行翻转 content_rev = content[::-1] if content == content_rev:  print(content + "是回文字符.") else:  print(content + "不是回文字符.")


发表于 2019-05-21 18:40:48 回复(0)
进栈跟出栈是一样的
发表于 2019-04-11 14:55:08 回复(0)
str="qwe" str_back=str[::-1] str==str_back
发表于 2019-03-01 18:33:28 回复(0)

.


编辑于 2018-11-22 23:27:29 回复(0)
int length = str.length();
String s1 = "";
String s2 = ""; if (length%2==0) {
    s1 = str.substring(0, (length/2));
    s2 = str.substring(length/2, length);
} else {
    s1 = str.substring(0, ((length-1)/2));
    s2 = str.substring((length+1)/2, length);
}
s2 = new String(new StringBuffer(s2).reverse()); if (s1.equals(s2)) {
    System.out.println("YES");
} else {
    System.out.println("NO");
}
算法是不会的,之后抠代码

发表于 2018-09-21 15:36:58 回复(0)
 
var str = 'abcacba'; for (var i in str) { var k = str.length - 1 - i;
    console.log(str[i], '---', str[k]); if(i>=k){
        console.log('是回文'); break;
    } if (str[i] != str[k]) {
        console.log('不是回文'); break;
    }
}

发表于 2018-09-20 14:32:55 回复(0)
#include<string>
#include<iostream>
using namespace std;

int main()
{
    string str;
    getline(cin, str);
    int flag;    
    for(int i = str.size() - 1; i >= 0; i--)
    {
        if(str[i] !=str[str.size()-1-i])
        {
         cout<<"False"<<endl;
         break;
       }
       else
       {
           flag=1;
       }
   }
   if(flag)
   {
       cout<<"True"<<endl;
   }
   return 0;
}

发表于 2018-09-18 17:52:47 回复(0)