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;
  • 相关阅读:
    大神总结的
    更改Xcode的缺省公司名
    iPhone分辨率
    iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?
    storyBoard(tableViewl)
    storyBoard
    XIB可视化编程
    UITableView(五)
    UITableView(四)
    UITableView(三)
  • 原文地址:https://www.cnblogs.com/lihanwen/p/10501790.html
Copyright © 2011-2022 走看看