zoukankan      html  css  js  c++  java
  • #leetcode刷题之路9- 回文数

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    示例 1:
    输入: 121
    输出: true

    示例 2:
    输入: -121
    输出: false
    解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

    示例 3:
    输入: 10
    输出: false
    解释: 从右向左读, 为 01 。因此它不是一个回文数。

    思路:把数字倒序,然后进行比较

    #include <iostream>
    
    
    bool isPalindrome(int x) {
        if (x<0) return false;
        if (x >= 0 && x<10) return true;
        long temp = 0;
        int temp1 = x;
        while (x != 0)
        {
            temp = temp * 10 + x % 10;
            x /= 10;
        }
        //std::cout << temp << std::endl;
        if (temp1 == temp) return true;
        else return false;
    }
    
    
    int main() {
        int a = 2147483647;
        std::cout << isPalindrome(a) << std::endl;
        return 0;
    }

    执行用时: 260 ms, 在Palindrome Number的C++提交中击败了3.63% 的用户
    内存消耗: 72.9 MB, 在Palindrome Number的C++提交中击败了0.54% 的用户

    。。。,极慢。。。其实只需要前半部分和后半部分进行比较就行了,对整体进行比较就等于多运算了一半

  • 相关阅读:
    Problem F
    Problem L
    Problem L
    Problem B
    Problem B
    读书笔记-Java设计模式
    读书笔记-内存初始化和清理
    读书笔记- 一切都是对象
    Android多点触控技术实战,自由地对图片进行缩放和移动
    Native开发与JNI机制详解
  • 原文地址:https://www.cnblogs.com/biat/p/10443645.html
Copyright © 2011-2022 走看看