![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Leetcode
leetcode从易到难按顺序刷题记录,争取做到每日一题
终回首
只是向上走,不必听自暴自弃者流的话。能做事的做事,能发声的发声。
有一分热,发一分光,就令萤火一般,也可以在黑暗里发一点光,不必等候炬火。
此后如竟没有炬火:我便是唯一的光。
展开
-
leetcode 67. 二进制求和
转成2个二进制数字相加,之后再转回字符串。原创 2024-01-15 19:15:00 · 448 阅读 · 0 评论 -
58.leetcode 最后一个单词的长度
分三种情况。原创 2024-01-11 19:30:00 · 532 阅读 · 0 评论 -
leetcode 66. 加一
分三种情况个位数加1小于10不需要进1,则个位数加一后返回数组即可需要进1。又分为两种情况:1不需要增加最高位,如899 变为900;2需要增加一位,如999变为1000。原创 2024-01-12 19:30:00 · 517 阅读 · 0 评论 -
38.leetcode 外观数列(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路本题思路类似26,27题,都需要找到重复的次数。根据n开始循环,因为已经定义了1所以需要循环n-1次。定义快慢双指针指向0,定义临时变量。双指针用来找到重复的次数,临时变量用来存储找到的结果(数字出现次数和数字本身)。遍历数字字符串,如果快指针找到和慢指针不一样的,慢指针指向的数字重复次数就等于快指针指向的索引减慢指针指向的索引,此时把找到的数字重复次数和数字本身拼接起来存储到零食变量里,然后慢指针指向快指针的位置原创 2020-09-20 21:32:46 · 88 阅读 · 0 评论 -
35.leetcode 搜索插入位置(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路分三种情况插入位置在开头,直接返回0即可插入位置在中间,遍历数组,如果当前元素等于插入元素,则返回当前元素的索引。如果当前元素大于插入元素,则返回当前元素的索引遍历完元素后,发现插入元素在目标数组中不存在,此时数组长度所在的索引就是目标索引2.实现class Solution: def searchInsert(self, nums: List[int], target: int) -> int:原创 2020-08-30 18:51:30 · 156 阅读 · 0 评论 -
28.leetcode 实现 strStr()(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路非空判断遍历目标字符串,挨个比对,如果当前字符等于要找的目标字符那就再判断当前索引到要找的字符串长度加当前索引的位置的字符串是否要找的目标字符串如果找到了,那就放回当前索引找不到返回-12.实现class Solution: def strStr(self, haystack: str, needle: str) -> int: if not needle:原创 2020-08-29 19:25:20 · 136 阅读 · 0 评论 -
27.leetcode 移除元素(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路本题和26思路类似。创建两个指针指向0,遍历数组,当i指向元素等于指定数字时,i加一2.实现class Solution: # execute time out def removeElement(self, nums, val): if not nums: return 0 i = 0 j = 0 while i原创 2020-08-18 14:06:31 · 146 阅读 · 0 评论 -
26.leetcode 删除排序数组中的重复项(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路遍历数组,创建两个指针a和b,a指向索引为0的,b指向索引为1的。b不断往后走,如果a指向的元素和b指向的元素不同时,把b和a后面(a索引加1)的元素互换,同时a索引后移1。2.实现class Solution: def removeDuplicates(self, nums) -> int: i = 0 for j in range(i + 1, len(nums)):原创 2020-08-10 19:36:08 · 128 阅读 · 0 评论 -
21.leetcode 合并两个有序链表(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路定义一个空链表,定义另一个空链表等于前面的空链表。循环遍历两个链表,挨个判断两个节点之间的大小,如果是小的,放到空链表后,小的那个节点指针后移,同时空链表指针后移,直到有一个节点为空时退出循环。之后把另一个链表尚未遍历完的部分添加到空链表后面,至此拼接完成。2.实现class Solution(object): def mergeTwoLists(self, l1, l2): """原创 2020-08-04 12:56:32 · 167 阅读 · 0 评论 -
20.leetcode 有效的括号(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路对输入参数做判断字符串长度为奇数直接返回False字符串为空字符串,返回True处理逻辑定义一个映射方便找根据左括号找到右括号定义一个list作为栈遍历字符串的每个字符如果是左括号就放入栈如果是右括号则与弹出的栈顶元素比对如果是不是一对,就返回False遍历完字符串后,如果栈的长度为0,返回True,不等于零则返回False2.实现class Solution(object): def原创 2020-07-26 21:37:21 · 116 阅读 · 0 评论 -
14.leetcode 最长公共前缀(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路遍历数组,保存第一个单词的第一个字母,判断其他的单词是否包含这个字母,且位于首位,如果包含,那么判断其他单词是否包含第一个单词的前两个字母,如果包含且位于首位,则继续找包含前三位的,依次类推。如果不包含,则退出返回保存的前缀。2.实现...原创 2020-07-18 08:51:25 · 103 阅读 · 0 评论 -
13.leetcode 罗马数字转整数(简单)
leetcode python 刷题记录,从易到难一、题目二、解答1.思路准备好对应的码表。分两种情况,第一种情况正常数字,III,MM之类的就直接加起来就好;第二种情况特殊数字,IV,IX之类的,相当于先减再加。总结起来就是,前大后小的,相加即可。前小后大用累加值减去小值。2.实现class Solution(object): def romanToInt(self, s): """ :type s: str :rtype: i原创 2020-07-12 10:26:07 · 105 阅读 · 0 评论 -
9.leetcode 回文数(简单)
leetcode python 刷题记录,从易到难相似题目:整数反转一、题目二、解答1.思路转换成字符串,判断反转后的和未反转的是否相等,相等返回True,否则返回False。2.实现class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ result = str(x)原创 2020-07-12 08:09:29 · 169 阅读 · 0 评论 -
7.leetcode 整数反转(简单)
leetcode python 刷题记录,从易到难一、题目二、解答A、version11.思路把数字转成字符串,调用反转方法,再转回数字2.实现class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ try: return int(str(x)[::-1]) e原创 2020-07-05 18:32:48 · 301 阅读 · 0 评论 -
1.leetcode 两数之和(简单)
leetcode python 刷题记录,从易到难一、题目二、解答A、version11.思路把数组的元素放到字典里(key为数值,value为索引),遍历key,看是否包含值等于(target减当前key)的元素,如果有,则把这两个元素的索引添加到新数组,然后返回2.实现class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int]原创 2020-07-04 09:38:21 · 156 阅读 · 0 评论