9_回文数
【问题描述】
给你一个整数 x
,如果 x
是一个回文整数,返回 true
;否则,返回 false
。(回文数指的是从左到右看和从右向左看完全一样的数字。)
示例:
输入:x = 121
输出:true
解:
【算法设计思想】
主要是利用取模运算,对于一个数x进行x%10的运算即可得到它的最后一位数字,依此把逆转之后的数字进行表示即可。注意使用original_num这个变量来暂存一下x。
【算法描述】
C++:
class Solution {
public:
bool isPalindrome(int x) {
if (x < 0)
return false;
long long original_num = x;
long long reversed_num = 0;
while (x > 0) {
reversed_num = reversed_num * 10 + x % 10;
x /= 10;
}
return reversed_num == original_num;
}
};
Java:
class Solution {
public boolean isPalindrome(int x) {
if (x < 0)
return false;
int original_num = x;
int reversed_num = 0;
while (x > 0) {
reversed_num = reversed_num * 10 + x % 10;
x = x / 10;
}
return original_num == reversed_num;
}
}
Python:
class Solution:
def isPalindrome(self, x: int) -> bool:
if(x < 0):
return False
original_num = x
reversed_num = 0
while(x > 0):
reversed_num = reversed_num * 10 + x % 10
x = x // 10
return original_num == reversed_num
C语言:
bool isPalindrome(int x) {
if (x < 0)
return false;
long long int original_num = x;
long long int reversed_num = 0;
while (x > 0) {
reversed_num = reversed_num * 10 + x % 10;
x = x / 10;
}
return original_num == reversed_num;
}
标签:10,int,reversed,long,num,original,回文
From: https://www.cnblogs.com/zeta186012/p/18353912