回文数——LeetCode04

本文介绍了一个简单的回文数判断程序,使用C++实现。作者在循环中逐位提取数字并比较两端数字是否相同来判断一个整数是否为回文数。然而,当前逻辑存在缺陷,导致结果与预期不符。

做了一个关于回文数判断的题目,很简单,但是与预期结果不符合,但又找不到逻辑哪里错了,希望大神告知,谢谢!

#include<iostream>
#include<cmath>
#include "stdlib.h"
using namespace std;
class Solution {
public:
   bool isPalindrome(int x) //我的返回类型为布尔型啊,为什么结果却是o或1呢,疑问?
   {
        int count;
        int t[20];
        if(x<0)
        {
            return false;
        }
        else
        {

            for(int j=1;;j++)
            {
                if(x<pow(10,j))
                {
                    count=j;
                    break;
                }     
            }
           for(int k=count-1;k>=0;k--)
            {
               t[k]=x%10;
               x=x/10;
             }
            for(int i=0;i<count;i++)
            {
                 if(t[i]==t[count-i-1]) 
                 return true;
                 else
                 return false; 
             }
        }
   }
    
};

void main()
{
    Solution s;

 cout<<"12为:"<<s.isPalindrome(12)<<endl;

cout<<"121为:"<<s.isPalindrome(121)<<endl;

 cout<<"12221为:"<<s.isPalindrome(12221)<<endl;//结果为0就代表错误,也即非回文数,反之为1就代表该数为回文数

cout<<"1221为:"<<s.isPalindrome(1221)<<endl;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值