码迷,mamicode.com
首页 > 其他好文 > 详细

9. 回文数 Palindrome Number

时间:2017-03-06 23:31:19      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:any   sof   tle   turn   eterm   his   null   als   ott   

Determine whether an integer is a palindrome. Do this without extra space.
题意:判断一个数字是否为回文数

如何取得一个Integer的最高位?假设x = 688答:x / mask. 设置一个和x位数一样的mask,mask = 100,然后用x/mask,表示x里面有几个mask,即是最高位数字. 688里有6个100,即为6.

如何删去一个Integer的最高位?假设x = 688答:x = x % mask. 还是用这个mask,用 x = x % mask 即可得到688除以100的余数,这个余数其实等于删掉了x的最高位剩下的数.

如何取得一个Integer的最低位?假设x = 688答:x % 10.

如何删去一个Integer的最低位?假设x = 688答:x = x / 10.

  1. public class Solution {
  2. public bool IsPalindrome(int x) {
  3. if(x < 0) return false;
  4. if(x == 0) return true;
  5. int num = x;
  6. int div = 1;
  7. while(num >= 10){
  8. num /= 10;
  9. div *= 10;
  10. }
  11. while (x > 0) {
  12. int left = x / div;
  13. int right = x % 10;
  14. if (left != right){
  15. return false;
  16. }
  17. x = (x % div) / 10;
  18. div = div / 100;
  19. Console.WriteLine(x);
  20. Console.WriteLine(div);
  21. }
  22. return true;
  23. }
  24. }

  1. public boolean isPalindrome1(int x) {
  2. if (x<0 || (x!=0 && x%10==0)) return false;
  3. int rev = 0;
  4. while (x>rev){
  5. rev = rev*10 + x%10;
  6. x = x/10;
  7. }
  8. return (x==rev || x==rev/10);
  9. }





9. 回文数 Palindrome Number

标签:any   sof   tle   turn   eterm   his   null   als   ott   

原文地址:http://www.cnblogs.com/xiejunzhao/p/6512334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!