1. 程式人生 > >leetcode 7 整數反轉

leetcode 7 整數反轉

題目描述

給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。

示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21

題目理解

  • 定義兩個空的字串 一個用來存放符號 一個用來反轉
  • 將整數變為字串 遍歷每一個字元
  • 遍歷一次 將當前的字元加在前面
  • 遍歷完後 轉換為整數
  • 判斷該整數的範圍 2
    31 < x < 2 31 -2^{31}<x<2^{31}
    否則返回0

程式碼實現

#!/usr/bin/env python 3.6
#-*- coding:utf-8 -*-
# @File    : 7.反轉整數.py
# @Date    : 2018-12-04
# @Author  : 黑桃
class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        plus_minus = ""
        reverse_x =
"" if x<0: plus_minus = "-" x = -x for i in str(x): reverse_x = i + reverse_x reverse_x = plus_minus +reverse_x if int(reverse_x)>pow(2,31)-1 or int(reverse_x)<pow(-2,31): return 0 return int(reverse_x) print(Solution().reverse(-321))