LeetCode-9-Palindrome Number(Number)-Easy

来源:互联网 发布:socket客户端发送数据 编辑:程序博客网 时间:2024/06/07 03:28

题意理解:

求输入整数是否为回文;


题意分析:

1. 不能使用额外的空间,所以不能直接把整数转换为字符串进行处理;

2.整数反转也不是好的方法,会出现溢出的情况;

3. 负数不为回文;

4. 解决方法为通过除法和求余数的方式夺得对应最左边和最右边的数值进行比较;


解题代码:

class Solution {public:    bool isPalindrome(int x) {        if(x<0){            return false;        }                int digitNum=0;        int t=x;        while(t){            digitNum++;            t/=10;        }        //cout<<"digitNum= "<<digitNum<<endl;                for(int i=0;i<digitNum/2;i++){            int left=x/pow(10,digitNum-i-1);            left%=10;            //cout<<"left= "<<left<<endl;                        t=pow(10,i+1);            int right=x%t;            right/=pow(10,i);            //cout<<"right= "<<right<<endl;                        if(left==right){                continue;            }else{                return false;            }        }                return true;    }};


0 0
原创粉丝点击