【九度OJ】题目1192:回文字符串 解题报告

标签(空格分隔): 九度OJ

 

题目描述:

给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。
  

输入:

输入包括一行字符串,其长度不超过1000。

输出:

可能有多组测试数据,对于每组数据,如果是回文字符串则输出”Yes!”,否则输出”No!”。

样例输入:

hellolleh
helloworld

样例输出:

Yes!
No!

Ways

可以用java的StringBuilder.reverse()方法,但是这个题是在太简单了,随便用个双指针就出来了。

#include<stdio.h>
#include<string.h>

int main() {
    char in[1100];
    while (scanf("%s", in) != EOF) {
        int len = strlen(in);
        int left = 0;
        int right = len - 1;
        bool answer = true;
        while (left < right) {
            if (in[left] != in[right]) {
                answer = false;
                break;
            }
            left++;
            right--;
        }
        if (answer) {
            printf("Yes!\n");
        } else {
            printf("No!\n");
        }
    }
    return 0;
}

Date

2017 年 3 月 19 日