![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python力扣题专区
Python
u9king
这个作者很懒,什么都没留下…
展开
-
2. 两数相加——python版(做题解析)
题目:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.# Definition for singly-linked list.class ListNode: def __init原创 2021-04-12 20:50:08 · 707 阅读 · 0 评论 -
83. 删除排序链表中的重复元素——python版(做题解析)
题目:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def deleteDup原创 2021-03-04 17:15:31 · 261 阅读 · 1 评论 -
70.爬楼梯——python版(做题解析)
题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """原创 2021-03-04 16:04:45 · 1107 阅读 · 1 评论 -
69.x的平方根 ——python版(做题解析)
题目:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ import math return int(ma原创 2021-03-04 14:53:15 · 415 阅读 · 1 评论 -
67.二进制求和——python版(做题解析)
题目:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”class Solution(object): def addBinary(self, a, b): """ :type a: str :type b: str :rtype: str """ a = int(a, 2)原创 2021-03-04 14:16:29 · 344 阅读 · 1 评论 -
66. 加一——python版(做题解析)
题目:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。class Solution(object): def plusOne(self, digits): """ :type digits: List[int]原创 2021-03-03 18:32:05 · 199 阅读 · 2 评论 -
58. 最后一个单词的长度——python版(做题解析)
题目:给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = “Hello World”输出:5class Solution(object): def lengthOfLastWord(self, s): """ :type s: str :rtype: int """原创 2021-03-03 16:47:43 · 1044 阅读 · 1 评论 -
53. 最大子序数和——python版(做题解析)
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。class Solution(object): def maxSubArray(self, nums): """ :type nums: List[int] :rtype: int原创 2021-03-03 15:05:33 · 196 阅读 · 1 评论 -
35. 插入位置——python版(做题解析)
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2class Solution(object): def searchInsert(self, nums, target): """ :type nums: List[int] :type target: int :rtyp原创 2021-03-02 17:08:54 · 1064 阅读 · 0 评论 -
28. 实现strStr——python版(做题解析)
题目:给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2class Solution(object): def strStr(self, haystack, needle): """ :type haystack: str原创 2021-03-02 16:37:55 · 137 阅读 · 0 评论 -
27. 移除元素——python版(做题解析)
题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长原创 2021-03-02 15:47:19 · 158 阅读 · 0 评论 -
26. 删除排序数组中的重复项——python版(做题解析)
题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。class Solution(object): def removeDuplicates(self, nums):原创 2021-03-02 15:20:50 · 4386 阅读 · 1 评论 -
21.合并两个有序链表——python版(做题解析)
题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.nex原创 2021-03-02 14:44:31 · 2090 阅读 · 0 评论 -
14. 最长公共前缀——python版(做题解析)
题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ #首先排除空字符的原创 2021-03-01 15:30:46 · 908 阅读 · 1 评论 -
13.罗马数字转整数——python版(做题解析)
题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。原创 2021-02-28 17:57:32 · 1189 阅读 · 0 评论 -
9. 回文数——python版(做题解析)
题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:trueclass Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """原创 2021-02-28 17:35:54 · 1357 阅读 · 1 评论 -
1. 两数之和——python版(做题解析)
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。class Solution(object): def twoSum(self原创 2021-02-21 19:31:47 · 991 阅读 · 0 评论 -
7. 整数反转——python版(做题解析)
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。class Solution(object): def twoSum(self原创 2021-02-21 17:04:12 · 457 阅读 · 0 评论