[LeetCode]Palindrome Number 判斷二進位制和十進位制是否為迴文
阿新 • • 發佈:2019-02-19
class Solution { public: bool isPalindrome2(int x) {//二進位制 int num=1,len=1,t=x>>1; while(t){ num<<=1; t>>=1; len++; } len/=2; while(len--){ if((num&x==0)&&(x&1)!=0){ return 0; } x&=(~num); x>>=1; num>>=2; } return 1; } bool isPalindrome(int x) {//十進位制 if(x<0)return 0; int num=1,len=1; while(x/num>=10){ num*=10; len++; } len/=2; while(len--){ if(x%10!=x/num){ return 0; } x=x-(x/num)*num; num/=100; x/=10; } return 1; } };