判断回文(0315)SWUST-OJ

Description

一个字符串将其所有字符倒过来后和原来一样就称它是回文。如121是回文,abA不是回文。 你的任务就是对于输入的字符串判断是否是回文。

Input

第一行:测试数据组数N(1=接下来N行:

每行一个字符串(只有数字和字母(区分大小写),且字符串大小小于100).

Output

输出只有一行,即是否是回文。是输出“YES”,不是输出“NO”;

Sample Input

3

A1BB1A

545421564

4484412

Sample Output

YES

NO

NO

本人思路:因为回文数是正着读和倒着读都一样,那只需要比较输入的字符与倒过来的字符是否一样即可;

代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n,i,len,j;

char str[1000],stu[1000];

scanf("%d",&n);

while(n--)
{
scanf("%s",str);
len=strlen(str);
for(i=len-1,j=0;i>=0;i--)           //把输入后的字符串倒过来
{
stu[j]=str[i];
j++;
}
stu[len]=0;                            //字符串的最后一个字符‘\0’的值为0;
if(strcmp(stu,str)!=0)
{
printf("NO");
}
else
printf("YES");
printf("\n");
}

return 0;
}

时间: 2024-10-25 15:54:44

判断回文(0315)SWUST-OJ的相关文章

C语言判断回文数

1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 //1.得到这个数字 2.翻转 3.进行比较 4.如果相同 就输出 是 否则 输出不是 6 7 int resource, result, re_tmp; //resource存放用户输入的数值 result存放翻转后的数值 re_tmp 存放用户输入的数值 在翻转的时候会用到 8 result = 0; //对result的初始化 9 printf("

HDOJ/HDU 2163 Palindromes(判断回文串~)

Problem Description Write a program to determine whether a word is a palindrome. A palindrome is a sequence of characters that is identical to the string when the characters are placed in reverse order. For example, the following strings are palindro

golang 递归判断回文字符串

判断回文字符串是个比较经典的问题. 思路就是拿第一个字符和最一个字符比较,如果不等退出,相同的话继续刚刚的过程,直到第一个字符和最后一个字符相遇或者他们的距离为1时.说明他们是回文字符串. 下面的代码会忽略空白字符 如"1   1  2 1"会让为是回文字符串. golang package main import (     "fmt"     "os"     "strings"     "unicode/utf

leetcode题解:Valid Palindrome(判断回文)

题目: Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. For example,"A man, a plan, a canal: Panama" is a palindrome."race a car" is not a palindrome. Note:Have you consider tha

Python基础判断回文数

#判断回文数 a=raw_input('your enter:\n')b=[]l=len(a)for i in range(0,l):    m=a[l-i-1]    b.append(m) for j in range(l):   mark=True   if a[j]!=b[j]:       print 'no'       mark=False       breakif mark==True:    print 'yes'

【0031】反转整数/判断回文

Reverse Integer 反转一个整数 C++ Code 1234567891011121314151617181920212223242526272829303132   class Solution{public:    int reverse(int x)    {        /*一位数的情况*/        if(-10 < x && x < 10)        {            return x;        } /*记录负数情况,负数转换成正

ACM之判断回文数

题目如下 这道题比较简单,先上Python代码感受一下,就一行搞定: #判断回文数 def isPalindrom(x):     return  str(x) == str(x)[::-1] 这种方法虽然简单,但是耗时比较长.再用Java解决一下看看 方法一 显然负数不可能是回文数,区间[0,9]的整数肯定是回文数,所以把这些确定的条件先进行判断 将整数的每一位放在链表中,然后将链表逆序,比较逆序链表与顺序链表元素是否一样,一样则是回文数,否则不是 代码如下: public class Pal

判断回文Plalindrome

/** * Description:判断回文 * * @author 李**2019年10月28日 */ public class JudgePlalind { public static boolean isPalind(String s) { if(s == null||s.length() == 0) return true; //正则表达式非数字和字符全替换为空 s=s.replaceAll("[^0-9A-Za-z]", ""); s=s.toLowerC

判断回文链表

我们之前有两篇文章写了回文串和回文序列相关的问题. 寻找回文串的核心思想是从中心向两端扩展: string palindrome(string& s, int l, int r) { // 防止索引越界 while (l >= 0 && r < s.size() && s[l] == s[r]) { // 向两边展开 l--; r++; } // 返回以 s[l] 和 s[r] 为中心的最长回文串 return s.substr(l + 1, r - l