9.回文数C语言——LeetCode

回文数

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

示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false

解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:

输入: 10

输出: false

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

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

  1. 要想一个数字是回文数,它不能小于0或个位数不能等于零
  2. 通过while循环取出后半段数字进行翻转。(感觉像是将数字进行对折后看能否一一对应),不过要判断数字的个数是奇数还是偶数。
    如下图所示:偶数1221拆分

在这里插入图片描述
奇数12121
在这里插入图片描述

代码:

bool isPalindrome(int x){
 
    if(x<0||(x%10==0 && x!=0))
    {
        return false;
    }
   int reu=0;
    while(x>reu)
    {
        reu=reu*10+x%10;
        x=x/10;
    }
     return x == reu || x ==reu/10;
}

作者:RodmaChen
本人博客:https://blog.csdn.net/weixin_46654114
qq:1342709867
转载说明:务必注明来源,附带本人博客连接。

请给我点个赞鼓励我吧
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46654114/article/details/106035397