当前位置:首页 > C++知识 > 正文内容

如何判断回文数/回文串

亿万年的星光5年前 (2021-03-27)C++知识9886

所谓回文,就是从左往右读和从右往左读都是一样的,这样的数字或者字符称为回文数/回文字符。

做题的时候经常能看到判断回文操作。判断回文的一般有两种,一种是数字类型,一种是字符类型。两种分别介绍一下。

一、回文数字


参考方法1:经过分离重组后的数字和原数字相等。

int huiwen(int num)
{
	int s=0;
	int num2=num;
	while(num){
		s=s*10+num%10;
		num=num/10;
	} 
	if(s==num2)
		return 1;
	else
		return 0; 
}



二、回文字符


int huiwen( char *s )
{
	int n,i;
	n=strlen(s)-1;
	for(i=0;i<=n/2;i++)
	  if(s[i]!=s[n-i])
	    return 0;
	return 1; 
}


或者

int huiwen ( char *p)
{
    register int i = 0;      //计数变量初始化
    int len = strlen(p); //使用STRLEN函数取字符串数组的字符位数
    for (i = 0; i <= len; i++)
    {
        if (p[i] == p[len - 1])
        {
            len--; //若首尾两个字符等值,分别向字符串中心移动一位,并判断
        }
        else
        return 0;
    }
    return 1;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【算法】单链表的一些操作(存取、查找、取出、插入、删除)

一、单链表结构的建立与输出#include<iostream> using namespace std; struct Node{ int ...

指针(二):指针与数组

1.指针与数组的关系    指向数组的指针变量称为数组指针变量。“数组是内存上一块连续的空间”。数组名就是这块连续空间的首地址。2.指针指向数组  &...

STL入门——容器3:map

一、定义    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据&nb...

常见的数据范围

一、总结名称字节位数(二进制)最小值最大值位数(十进制)bool18011char18shrot 216    (-2^15  到2^15  -1)-...

【算法】扩展欧几里得算法

一、欧几里得算法我们前面学过求最大公约数的算法:欧几里得算法(又叫辗转相除法) ,一般缩写是gcd,在C++中经常写成如下形式:int gcd(int a,int b)...

unsigned

在一些代码中,经常能看到unsigned这种数据类型,比如下面这样的。#include<iostream> using namespace std; int&nbs...