zoukankan      html  css  js  c++  java
  • LC7 整数翻转 + LC9 回文数

    假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

    代码如下:

     1 int reverse(int x) {
     2     int temp = x, num = 0;
     3     while (x) {
     4         if (num > INT32_MAX / 10 || (num == INT32_MAX / 10 && (x % 10) > 7)) {
     5             return 0;
     6         }
     7         if (num < INT32_MIN / 10 || (num == INT32_MIN / 10 && (x % 10) < -8)) {
     8             return 0;
     9         }
    10         num = num * 10 + x % 10;
    11         x /= 10;
    12     }
    13     return num;
    14 }

    代码如下:
     1 bool isPalindrome(int x) {
     2     int temp = x, num = 0;
     3     while (x) {
     4         if (x < 0) {
     5             return false;
     6         }
     7         if (num > INT32_MAX / 10 || (num == INT32_MAX / 10 && x % 10 > 7)) {
     8             return false;
     9         }
    10         if (num < INT32_MIN / 10 || (num == INT32_MIN / 10 && x % 10 < -8)) {
    11             return false;
    12         }
    13         num = num * 10 + x % 10;
    14         x /= 10;
    15     }
    16     return temp == num;
    17 }

    这两道题都是整数翻转相关,主要代码就两行:

    1 num = num * 10 + x % 10;
    2 x /= 10;
  • 相关阅读:
    MYSQL索引使用
    事务的概念是什么,有哪些基本属性?
    springboot和springmvc的区别
    List、Map、Set的区别与联系
    MyBatis-动态SQL
    MyBatis-映射文件
    MyBatis操作数据库及全局配置文件
    Jmeter的基本使用
    MySQL索引优化
    MySQL索引
  • 原文地址:https://www.cnblogs.com/lihanwen/p/10501790.html
Copyright © 2011-2022 走看看