回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
目录
题目来源
函数介绍
问题示例
函数实现:
用法示例
结果展示
比较难想到的解法
题目来源
9. 回文数 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/palindrome-number/
函数介绍
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
问题示例
输入:x = 121
输出:true
输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。
函数实现:
bool isPalindrome(int x)
{
int s;
long y=0;
s = x;
while(s>0)//y通关循环存储的是倒序的x
{
y = y*10 + s%10;
s = s/10;
}
if(y == x)
{
return true;
}
else
{
return false;
}
}
用法示例
#include
#include
#define ture 1
#define false 0
int isPalindrome(int x)
{
int s;
long y = 0;
s = x;
while (s > 0)//y通关循环存储的是倒序的x
{
y = y * 10 + s % 10;
s = s / 10;
}
if (y == x)
{
return true;
}
else
{
return false;
}
}
int main()
{
int x = 0;
scanf("%d", &x);
if (isPalindrome(x))
printf("%d是回文数n", x);
else
printf("%d不是回文数n", x);
return 0;
}
结果展示
输入:x = 121 输出:true
输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。
bool isPalindrome(int x)
{
int s;
long y=0;
s = x;
while(s>0)//y通关循环存储的是倒序的x
{
y = y*10 + s%10;
s = s/10;
}
if(y == x)
{
return true;
}
else
{
return false;
}
}
用法示例
#include
#include
#define ture 1
#define false 0
int isPalindrome(int x)
{
int s;
long y = 0;
s = x;
while (s > 0)//y通关循环存储的是倒序的x
{
y = y * 10 + s % 10;
s = s / 10;
}
if (y == x)
{
return true;
}
else
{
return false;
}
}
int main()
{
int x = 0;
scanf("%d", &x);
if (isPalindrome(x))
printf("%d是回文数n", x);
else
printf("%d不是回文数n", x);
return 0;
}
结果展示
比较难想到的解法
将整数转为字符串来解决
将整数转为字符串来解决



