leetcode:9. Palindrome Number

来源:互联网 发布:多伦多大学 知乎 编辑:程序博客网 时间:2024/06/03 10:32

描述

Determine whether an integer is a palindrome. Do this without extra space.

思路

从中间翻转,比如123321,转化成a=123,b = 123(321反过来),对比a,b

代码

class Solution {public:    bool isPalindrome(int x) {        if (x<0 || (x!=0 && x%10==0)) return false;            int pre = 0;            while (x>pre){                pre = pre*10 + x%10;                x = x/10;            }            return (x==rev || x==rev/10);    }};

他山之玉

C++ solutioin

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

Java solution

public boolean isPalindrome(int x) {    if (x < 0) return false;    int p = x;     int q = 0;     while (p >= 10){        q *=10;         q += p%10;         p /=10;     }    return q == x / 10 && p == x % 10;}

python solution

class Solution:    # @param {integer} x    # @return {boolean}    def isPalindrome(self, x):        return str(x)==str(x)[::-1]
0 0
原创粉丝点击