• Palindrome Number


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

    Some hints:
    Could negative integers be palindromes? (ie, -1) (No!)
    If you are thinking of converting the integer to string, note the restriction of using extra space.
    You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", 
    you know that the reversed integer might overflow. How would you handle such case?
    There is a more generic way of solving this problem.

    Solution: 1. Count the number of digits first (traverse once) then check the digits from both sides to center.
    2. Reverse the number, then check to see if x == reverse(x).
    3. Recursion (interesting but a little hard to understand).

     1 class Solution {
     2 public:
     3     bool isPalindrome(int x) {
     4         if(x < 0) return false;
     5         int d = 1;
     6         while(x / d >= 10) d *= 10;
     7         while(d > 1) {
     8             if(x % 10 != x / d) return false;
     9             x = x % d / 10;
    10             d /= 100;
    11         }
    12         return true;
    13     }
    14 };

     

  • 相关阅读:
    httpclient用法
    JS逻辑运算符&&与||的妙用
    jackson详解
    MVC +EF+linq 多表联查
    Log4net 集成到MVC+EF框架
    Asp.net中的页面跳转及post数据
    字符串的分割操作
    线程的信号机制
    事件的标准模式
    Java网络编程
  • 原文地址:https://www.cnblogs.com/zhengjiankang/p/3646817.html
Copyright © 2020-2023  润新知