day02--整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21
注意:

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

class Solution {
    func reverse(_ x: Int) -> Int {
        var result = 0, temp = x
        while temp != 0 {
            let pop = temp % 10
            temp = temp / 10
            result = result * 10 + pop
            //处理溢出问题
            if result > Int32.max || (result == (Int32.max / 10) && pop > 7) {
                return 0
            }
            
            if result < Int32.min || (result == (Int32.min / 10) && pop < -8) {
                return 0
            }
        }
        
        return result
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要...
    neo_ming阅读 626评论 0 0
  • 需求 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1:输入: 123输出: 3...
    惑也阅读 956评论 0 1
  • 20180919-摘抄自7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入:...
    moralok阅读 461评论 0 0
  • 前言 本系列,希望使用Python通关LeetCode,暂时开始做简单题。初次刷LeetCode目的是为了提高自己...
    3inchtime阅读 1,564评论 1 1
  • 中午,艳阳高照,空气清新。我们坐在大厅的凳子上,收看《奇迹男孩》。 这是一部励志电影,讲述了一位不幸的男孩,顶着同...
    吕childe天阅读 156评论 0 2