C++刷题——2802: 推断字符串是否为回文

Description
编敲代码,推断输入的一个字符串是否为回文。

若是则输出“Yes”。否则输出“No”。

所谓回文是指順读和倒读都是一样的字符串。

Input
Output
Sample Input
abcddcba
Sample Output
Yes
/* Copyright (c) 2014, 烟台大学计算机学院
 * All rights reserved.
 * 文件名:test.cpp
 * 作者:陈丹妮
 * 完毕日期:2015年 6 月 1 日
 * 版 本 号:v1.0
 */
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    char a[81];
    gets(a);
    int i,n=0,s=0;
    for(i=0; a[i]!=0; i++)
        n++;
    for(i=0; i<n/2; i++)
    {
        if(a[i]==a[n-i-1])
            s++;
    }
    if(s==n/2)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    return 0;
}

心得体会:这次写的比上次写的简单多了。主要是想了个比較巧的方法,这就是进步!

所以做题前,先用数学思维想想有没有简单的办法解决,这样会简单的多!继续努力。!

时间: 2024-10-26 17:31:35

C++刷题——2802: 推断字符串是否为回文的相关文章

C++刷题——2802: 判断字符串是否为回文

Description 编写程序,判断输入的一个字符串是否为回文.若是则输出"Yes",否则输出"No".所谓回文是指順读和倒读都是一样的字符串. Input Output Sample Input abcddcba Sample Output Yes /* Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年 6 月 1 日 * 版 本

FCC JS基础算法题(2):Check for Palindromes(检查回文字符串)

题目描述: 如果给定的字符串是回文,返回true,反之,返回false.如果一个字符串忽略标点符号.大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文).注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文.函数参数的值可以为"racecar","RaceCar"和"race CAR". 算法: function palindrome(str) { var str_obj = s

用递归方法判断字符串是否是回文(Recursion Palindrome Python)

所谓回文字符串,就是一个字符串从左到右读和从右到左读是完全一样的.比如:"level" ."aaabbaaa". "madam"."radar". 如何判断字符串是否是回文呢?解决思路如下: 1. 采取穷举法(Brute Force algorithm),枚举并检查(enumerate & check)字串符的第一项和最后一项是否等同 2. 把检查范围逐步缩小,如果字串符的第一项和最后一项等同,那么去除字串符的第一项和

Valid Palindrome ——判断字符串是否为回文串

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41488377 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&

AC日记——判断字符串是否为回文 openjudge 1.7 33

33:判断字符串是否为回文 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一个字符串,输出该字符串是否回文.回文是指顺读和倒读都一样的字符串. 输入 输入为一行字符串(字符串中没有空白字符,字符串长度不超过100). 输出 如果字符串是回文,输出yes:否则,输出no. 样例输入 abcdedcba 样例输出 yes 思路: 模拟: 来,上代码: #include<cstdio> #include<string> #include<cstring>

判断一个字符串是否为回文-链队(新建,进队,出队),链栈(新建,进栈,出栈)

回文:字符对称排列的字符串,例如ABCBA 思路:根据队:先进先出和栈: 先进后出的原则,进行比较出队和出栈的字符是否相等.如果相等,则为回文. 创建控制台应用程序. 1 #region 字符节点类 2 class CharNode 3 { 4 public char Char //字符 5 { 6 get; 7 set; 8 } 9 public CharNode Next //下一节点 10 { 11 get; 12 set; 13 } 14 public CharNode(char Cha

判断一个数是否为回文数,字符串是否为回文字符串

使用C语言编写程序 判断一个数是否为回文数.(ps:回文数也是一个数字,数字的特点是正反序是同一个数字,如12321,3443就是回文数). 要判断该数字是否为回文数,可以通过模除得到该数的反序数字,进行比较是否相等来判读. 具体实现如下: void Practice() { int num, value, flag, var; value = 0; flag = 1; scanf("%d", &num); var = num; while(num) {//value存储num

检测一个字符串是否为回文? 两种方法

/** *    检测一个字符串是否为回文?三种方法? *    方法1:用str.charAt(index) !=  str.charAt(len-i-1) *    方法2:用StringBuilder . reverse反转 *    方法3:用开关控制 */ public class reversChar { public static void main(String[] args) { String str = "123321"; //中文也可以 System.out.pr

判断输入的字符串是否是回文数

<?phpfunction yuanyincount($str){ $str_len=strlen($str); $a_count=0; $e_count=0; $i_count=0; $o_count=0; $u_count=0; $other_count=0; //五种原因字母的数组,没写输出 $a_arr=array(); $e_arr=array(); $i_arr=array(); $o_arr=array(); $u_arr=array(); $other_arr=array();