题目:
解法一:将整数转换为字符串
python3:
class Solution: def isPalindrome(self, x: int) -> bool: return str(x)==str(x)[::-1]
解法二:只需要判断一半
C语言
reversed == x
成立则一定是偶数位,reversed / 10 == x
成立则一定是奇数位,以及包含了奇偶的分支判断了。
class Solution { public boolean isPalindrome(int x) { // 0 是回文数 if (x == 0) return true; // 负数和除 0 以外以 0 结尾的数都不是回文数 if (x < 0 || x % 10 == 0) return false; // 记录 x 后一半的翻转,如 x = 4334,reversed = 43;x = 54345,reversed = 54 int reversed = 0; while (x > reversed) { reversed = reversed * 10 + x % 10; x /= 10; } // x有偶数位和奇数位两种情况 return reversed == x || reversed / 10 == x; } }
解法三:将数据完全翻转与原数据对比
public class Solution { public bool IsPalindrome(int x) { if(x<0) return false; if(x==0) return true; int a=x; int sum=0; while(x!=0){ sum=sum*10+x%10; x/=10; } return sum==a; } }
标签:10,判断,return,int,reversed,public,回文 From: https://www.cnblogs.com/JINGSOLO/p/17063426.html