leetcode 9 palindrome number

来源:互联网 发布:gta5美女角色捏脸数据 编辑:程序博客网 时间:2024/06/16 04:12

问题

https://leetcode.com/problems/palindrome-number/

方法

1, 直接比较法 92ms

class Solution {public:    bool isPalindrome(int x) {        if (x <0)            return false;        if (x<10)            return true;        int e = 1;        for (int v=x/10; v; v/=10, e*=10);        for (int b =10; b<=e; b*=10, e/=10)        {            int i = (x%b)/(b/10);            int j = (x/e)%(10);            if (i!= j)                return false;        }        return true;    }};

2, 半翻转 108ms

class Solution {public:    bool isPalindrome(int x) {        if (x < 0)            return false;        if (x < 10)            return true;        int fast = x, slow = x;        int revhalf = 0;        while(fast){            revhalf = revhalf *10 + slow%10;            slow/=10;            fast/=100;        }        return revhalf == slow || slow == revhalf/10;    }};
0 0
原创粉丝点击