• leetcode Palindrome Number


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

    题意是判断整数是不是回文串,

    第一个想法是将整数转换为字符串,但题目要求不能用额外的空间

    第二个想法是将数字反过来,比较两个数字是不是相等,但将两个数字反过来可能造成数字溢出,

    故直接用最原始的写法,从两端比较数字是不是相等

    注意负数的情况,尽量少用pow,其时间开销比较大

    #include <iostream>
    using namespace std;
    
    bool isPalindrome(int x){
        if( x < 0) return false;
        int maxDiv = 1;
        while (x/maxDiv >= 10) maxDiv *=10;
        while (x) {
            if (x/maxDiv == x%10) {
                x =(x%maxDiv)/10;
                maxDiv/=100;
            }else{
                return false;
            }
        }
        return true;
    }
    
    int main(){
        cout<<isPalindrome(12221)<<endl;
    }
  • 相关阅读:
    springMVC静态资源
    MyBatis Generator
    使用springMVC时的web.xml配置文件
    Semaphore
    spring注解驱动--组件注册
    第1章 初始Docker容器
    docker面试整理
    第5章 运输层
    验证码
    带进度条的上传
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3628180.html
Copyright © 2020-2023  润新知