- 博客(11)
- 收藏
- 关注
原创 Leetcode 31--下一个排列(字典序) --Python
@Leetcode 31–下一个排列 --Python下一个排列题目题目分析关于字典序我们需要特别注意的几点原则:(1) 字典序的值从左到右一次变大(2)每次的变换遵循左边的值不动,先给右边的排序,在更换左边。(本题涉及到字典序的问题,关于字典序的详细内容,可参考链接: https://blog.csdn.net/qq_33594380/article/details/82377...
2019-10-08 20:30:39
215
原创 Leetcode 19 --删除链表的倒数第N个节点 --python
@[Leetcode 19 --删除链表的倒数第N个节点 --python]删除链表的倒数第N个节点题目题目分析这道题我拿到题目首先想到的是二次遍历,不过在这里两种方法都会介绍二次遍历首先第一次遍历找到要删除节点前面的index号第二次遍历链表删除节点一次遍历要用到两个节点,并且两个节点要保持n的距离当第二个节点的next为None时,删除第一个节点之后的节点...
2019-09-17 11:58:14
144
原创 Leetcode 21 --合并两个有序链表 --python
@[Leetcode 21 --合并两个有序链表 --python]合并两个有序链表题目分析这道题目有两种方法:1. 递归;2.迭代这里详细介绍迭代,递归之后补充根据题目的描述,先整理流程要满足一下几个条件:要有两个指针分别指向L1,L2将指针指向的节点比大小按要求赋值给新链表!!!值得注意的地方就是链表赋值//赋值 new.next =l...
2019-09-15 22:42:41
178
原创 Leetcode 8 -- 字符串转换整数(atoi)--python
@[Leetcode 8 – 字符串转换整数(atoi]字符串转换整数(atoi)题目题目分析根据题目的描述,先整理流程要满足一下几个条件:去掉字符串中左边的非空字符去掉非空字符后,如果第一个是字母或者字符串为空,return0如果第一个字符是符号,保留下来。如果第一个字符是数字,保留,计算最后数字的大小是否符合条件,符合就输出,不符合就输出指定值。代码ps:好像还有正...
2019-09-04 15:31:57
136
原创 Leetcode 1 -- 两数之和 -- Python
@Leetcode 1 – 两数之和 – Python题目题目分析暴力法: 直接进行两次for循环采用字典: 现把list都存储进字典,在进行一个for循环遍历,找符合要求的值采用字典模拟哈希表: 边存储进字典,边遍历。代码//暴力法class Solution: def twoSum(self, nums: List[int], target: int) ->...
2019-07-29 10:41:09
106
原创 Leetcode 15 -- 三数之和 --Python
Leetcode 15 -- 三数之和 --Python题目题目分析题目题目分析首先看到题目,不知道大家有没有觉得和两数之和的题目有些相似。最直接的方法就是暴力法,设置三个for循环,时间复杂度为O(n3), 空间复杂度为O(1),此方法虽简单,但是会超过时间限制。代码段如下//暴力法class Solution: def threeSum(self, nums: List...
2019-07-29 10:21:18
317
原创 Leetcode11 -- 盛最多水的容器 -- Python
@Leetcode11 – 盛最多水的容器盛最多水的容器题目题目分析看到题目后,它说求盛最多水的容器相当于是求最大的面积。我首先想到的是暴力法,指定一个遍历其他的柱子,但是时间复杂度是O(n2), 抱着试一下的心态,但没有想到超出了运行时间。代码如下图。下面介绍一下官方题解中介绍的双指针法:它主要是用减少短的高度来弥补宽度的减少,因为高度有可能还会增加,这种方法和快速排序有...
2019-06-30 15:41:58
147
原创 Leetcode5 -- 最长回文子串 -- Python -- 中心扩散法
@Leetcode5 – 最长回文子串 – 中心扩散法最长回文子串题目题目分析首先理解什么是回文串,就是正着读和反着读都一样的字符串看了题解一共有三种方法,暴力法,中心扩散法,动态规划法,这里着重介绍中心扩散法。中心扩散法的主要解题思路:(1)遍历字符串的每一个字符,每一个字符都作为一次中心,向两边扩散,如果两边一样,就继续扩散,不一样则停止(2)但是会分两种情况,就是回文串是...
2019-06-27 14:18:51
361
原创 LeetCode 4 --寻找两个有序数组的中位数--Python
@[LeetCode 4 --寻找两个有序数组的中位数]寻找两个有序数组的中位数题目题目分析(和leetcode官方题解的思路一样,只是加了一些自己的理解)首先要理解中位数的含义:中位数将一个集合分成两个大小相等的部分,并且中位数总是大于第一个子集的元素,小于第二个子集的元素。在这道题中有两个有序数组,他要求时间复杂度为 O(log(m + n)),有两种方法,第一种是将两个数组合...
2019-06-20 15:08:35
163
原创 LeetCode 3 --无重复字符的最长子串
@[LeetCode 3 --无重复字符的最长子串]无重复字符的最长子串题目题目分析题目要求找到的最长子串,并不是子序列对于‘dvdf’ 的字符串来说,他的最长子串是3,在判断到第2个d的时候,不可以把记录最长字符串的a清零,还要保留d后面的字符,在这里只有v,并且加上当前的d。(一开始我在写的时候,没有注意到这个问题,一直出错)值得注意的是字符串没有append这个属性,直接用+...
2019-06-12 17:21:48
212
原创 LeetCode 2 --两数相加
@[Leetcode2两数相加]两数相加题目解答分析//结点赋值r.next = ListNode(tem%10)r = r.next//一开始只写了一句一直出不来想要的结果值得注意的还有一点一定要设置两个链表,在一开始将new赋值给r,后续都是对r操作,最后返回的是new*还有一种思路是递归,不用while循环,直接调用本身函数。每天一点进步,加油!。1@Qi...
2019-06-11 17:59:57
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人