lintcode-37.反转一个3位整数

描述

反转一个只有3位数的整数。
你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000。

样例

样例 1:

输入: number = 123
输出: 321

样例 2:

输入: number = 900
输出: 9

解答思路

第一种:对整数进行反转操作,又是3位整数,首先考虑的是对整数方法取余取整来实现
第二种:使用字符串切片,
第三种:使用栈

python3 代码如下:

第一种:整数取余取整

class Solution:
    """
    @param number: A 3-digit number.
    @return: Reversed number.
    """
    def reverseInteger(self, number):
        # write your code here
        u = int(number%10)#取余获取个位数,int类型转换是防止float类型结果
        t = int((number/10)%10)#取整再取余获取十位数
        h = int(number/100)#取整获取百位数
        return  u*100+t*10 +h

第二种:字符串反转操作

def reverseInteger(self, number):
    # write your code here
    str_number=str(number)#int类型转换字符串
    result=str_number[::-1]#字符串反转
    result=int(result)
    return result

第三种:栈操作

def reverseInteger(self, number):
	number=str(number)#模拟入栈
    l=list(number)
    result=""
    while len(l)>0:
        result+=l.pop()#模拟出栈
    return int(result)

猜你喜欢

转载自blog.csdn.net/ccccsy99/article/details/102631460
今日推荐