LeetCode 9.C语言

本文详细解析了LeetCode第九题“回文数判断”的解题思路与C语言实现过程,通过判断整数正序与倒序是否一致来确定其是否为回文数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

示例 1:

输入: 121
输出: true
示例 2:

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

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

解:本题用的是C语言

bool isPalindrome(int x){

if(x<0)                                     //小于零的数字肯定不是回文数字
{
    return false;
}
int temp=x,num=0,n=0;
while(temp)                               //用while循环将整数的位数求出来
{
    num++;
    temp /= 10;
}
for(int i=0;i<num/2;i++)               //求出数字的后面一半
{
    if(i==0)
    {
        n = x % 10;
        x /= 10;
    }else {
        n = (x % 10) + n*10;
        x /= 10;
    }
}
if(num%2)                              //判断该数字是否是奇书
{		
    x /= 10;								   //如果是就先将中间的一位去掉在判断是否相等
    if(x == n)                         
    {
        return true;
    }else {
        return false;
    }

}else {
    if(x == n)                        //如果是偶数就可以直接判断
    {
        return true;
    }else {
        return false;
    }
   
 
}

}

解题思路:先求出传入数字是几位数,在就该数字的后面一半反过来,接着判断是否是奇数,如果是先去掉中间的一位,再判断。如果椒偶数就可以直接判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值