zoukankan      html  css  js  c++  java
  • 算法练习之整数反转

    算法题目:

    python3代码

    class Solution:
        def reverse(self, x):
            """
            :type x: int
            :rtype: int
            """
            tmp =[]
            if isinstance(x, int):
                if x > 0:
                    index = len(str(x))
                    num=str(x)
                    for i in range(0, index):
                        tmp.append(num[i])
                    tem = int(''.join(tmp[::-1]))
                    # print(type(tem))
    
                    if tem > (2**31-1):
                        return 0
                    return tem
                if x < 0:
                    num = str(x)
                    index = len(num)
                    for i in range(0, index):
                        tmp.append(num[i])
                    tem = int(''.join(tmp[:0:-1]))
                    result = -tem
                    if result < (-2 ** 31):
                        return 0
                    return result
                if x==0:
                    return 0

    总结思路及知识点:

    1.题目要求:32位有符号的整数,进行反转

    思路:

    (1)分情况处理 正整数、负整数、0-9的数字

    (2)输入参数为int 类型,返回值也为int类型

    (3)数字没有反转的方法,先将int类型的数字转换为字符串,并将其存放到预先定义的空列表中,利用列表的切片功能,对其反转

    (4)注意返回值的范围问题

    2.知识点

    (1)数字-->字符串   字符串-->列表

    (2)for i  in range (0,len(nums))

    (3)字符串拼接   ‘-’+int型的整数  、-123

    (4)列表的反转--切片   

    切片具体知识点,参考https://blog.csdn.net/xpresslink/article/details/77727507

    通常一个切片操作要提供三个参数 [start_index:  stop_index:  step]  
    start_index是切片的起始位置
    stop_index是切片的结束位置(不包括)
    step可以不提供,默认值是1,步长值不能为0,不然会报错ValueError。

  • 相关阅读:
    iOS利用通知(NSNotification)进行传值
    yum gd linux
    discuz搬家
    快速上传到rackspace cdn工具turbolift swift 安装
    linux 文件属性、权限、所有人、所属组
    Tar压缩文件
    lamp安装手稿
    Mysql导出导入相关操作记录
    How to Install a Language Pack
    centos下开启htaccess
  • 原文地址:https://www.cnblogs.com/eosclover/p/10230543.html
Copyright © 2011-2022 走看看