Leetcode刷题之路9.回文串

Leetcode刷题之路9.回文串


该文章为本人个人所有,未经本人允许,请勿擅自转载。

文章目录

  • Leetcode刷题之路9.回文串
    • 题目描述:
    • 实现代码

题目描述:

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。


这个题可以通过以下的思路:
1、如果一个数的值小于0,则不是回文串
2、如果一个数的值大于0,则将其反转,例如1234->4321 1221->1221
如果反转后两者的值相等,那么该数是一个回文串

实现代码

class Solution {
public:
    bool isPalindrome(int x) {
       
      if (x<0)return false;  
      long long int sum =0;  
      long long int origin = x;  
      while(x)  
      {  
          int num = x %10;  
          sum = sum*10 + num;  
          x/=10;  
      }  
      if(sum == origin)  
          return true;  
      else  
          return false;  
    }
};

你可能感兴趣的:(leetcode)