[LeetCode]题记 (1)

基本情况

语言: Pyhton 3
难度: Easy
数量: 4

题目详解

1. 两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

示例

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

代码

class Solution(object):
    def twoSum(self, nums, target):
        s = {}
        for i, j in enumerate(nums):
            if target - j in s:
                return s[target-j], i
            s[j] = i

2. 整数反转

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

输入: 123
输出: 321

示例2

输入: -123
输出: -321

示例3

输入: 120
输出: 21

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

代码

class Solution:
    def reverse(self, x: int) -> int:
        if '-' in str(x):
            s = str(x).replace("-",  "")
            s = -1 * int(s[::-1])
        else:
            s = int(str(x)[::-1])
        return s if  (-2) ** 31 <= s <= 2**31 - 1 else 0

3. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例1

输入: [“flower”,“flow”,“flight”]
输出: “fl”

示例2

输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。

所有输入只包含小写字母 a-z 。

代码

class Solution:
    def longestCommonPrefix(self, s: List[str]) -> str:
        if not s:
            return ""
        s.sort()
        a = s[0]
        b = s[-1]
        res = ""
        for i in range(len(a)):
            if i >= len(b) or a[i] != b[i]:
                break
            res += a[i]
        return res

4. 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例1

输入: 121
输出: true

示例2

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例3

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

代码

class Solution:
    def isPalindrome(self, x: int) -> bool:
        s = str(x)
        if s[::-1] == s:
            return True
        return False

反思小结

第一次撰写博客,多有不当,还望海涵。于此记录CS生涯,路漫漫其修远兮,吾将上下而求索。代码详解由于笔者太懒,后续若有时间,再进行填坑。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页