LeetCode刷题之路——简单题【1、7】

1、两数之和

LeetCode刷题之路——简单题【1、7】

代码

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        dic = {}
        for index,num in enumerate(nums):  
            sub = target - num
            if sub in dic:
                return [dic[sub],index]
            else:
                dic[num] = index
            
        

知识点

1、enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
...     print i, element
... 
0 one
1 two
2 three

 


7、整数反转

LeetCode刷题之路——简单题【1、7】

代码:

class Solution:
    def reverse(self, x: int) -> int:
        """
        ret:返回旧的翻转值
        temp:保存临时中间值
        """
        if x == 0:
            return x
        str_x = str(x)
        x = ''
        if str_x[0] == '-':
            x += '-'
        x += str_x[-1::-1].lstrip('0').rstrip("-")
        x = int(x)
        if -2**31<x<2**31-1:
            return x
        return 0
        

知识点总结:

1、list[::n]
第一个冒号表示起始处理位置,第二个冒号表示终止处理位置,不包括该位置,n表示步长,每隔几个取一次。
如果n为负号,表示从后向前处理,a = list[::-1],表示逆置
2、strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
注意:这些函数都只会删除头和尾的字符,中间的不会删除。

 

上一篇:LeetCode初试---两数之和相加


下一篇:CMDB项目示例之API验证流程