![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode刷题笔记
SanXiMeng
浅水喧嚣,深水静默。
展开
-
Leetcode刷题笔记08——删除有序数组中的重复项
一、题目描述给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例如下:二、题解与作答利用 两个指针 来求解,其中前一个指针 p 从 0 开始,第二个指针 q 从 1 开始,如果:p 、q 指针所代表的值相同,则 q = q + 1 ;p 、q 指针所代表的值不同,则将 q 所指向的值赋值给 p + 1 所指向的值,同时:p = p原创 2021-07-08 22:03:24 · 152 阅读 · 0 评论 -
Leetcode刷题笔记07——合并两个有序链表
一、题目描述将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例如下:二、题解与作答如果两个链表其中之一为空,则返回另一个链表。如果 l1 链表的第一个值小于 l2 链表的第一个值,则利用递归算法,对 l1 第一个值之后的元素与 l2 链表进行合并,直到合并完最后一个元素;同样的,若 l2 链表的第一个值小于 l1 链表的第一个值,则利用递归算法,对 l2 第一个值之后的元素与 l1 链表进行合并,直到合并完最后一个元素.# Definiti原创 2021-07-07 16:46:25 · 138 阅读 · 0 评论 -
Leetcode刷题笔记06——有效的括号
一、题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例如下:提示:1 <= s.length <= 104s 仅由括号 ‘()[]{}’ 组成二、题解与答案此题可以说是 “栈” 类型数据结构经典题目。首先利用字典建立匹配模板:’]’ -> '['’)’ -> '('’}’ -> '{'建立堆原创 2021-07-06 22:14:21 · 120 阅读 · 0 评论 -
Leetcode刷题笔记05——最长公共前缀
一、题目要求编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例如下:提示:0 <= strs.length <= 2000 <= strs[i].length <= 200strs[i] 仅由小写英文字母组成二、题解与答案以列表里的第一个字符串为参考元素,判断其余元素有多少个与它一致的公共前缀,这样便需要两个循环,其中外循环用来改变检测的前缀字母,内循环用来改变所检测的字符串,代码如下:class Solution:原创 2021-07-05 14:25:16 · 128 阅读 · 0 评论 -
Leetcode刷题笔记04——罗马数字转整数
一、题目要求罗马数字包含以下七种字符: I, V, X, L,C,D 和 M 。字符数字I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所原创 2021-07-05 09:26:33 · 139 阅读 · 0 评论 -
Leetcode刷题笔记03——回文数
一、题目要求给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例如下:二、题解与答案分两种情况:第一,如果 x 是负数,那么一定不是回文数;第二,如果 x 不是负数,那么将x 转化为字符串,然后翻转,如果翻转后的字符串与未翻转一致,那么则为回文数。class Solution: def isPalindrome(self, x: int) -&原创 2021-07-03 16:42:33 · 176 阅读 · 0 评论 -
Leetcode刷题笔记02——整数翻转
一、题目要求给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1],就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。二、题解与答案将整数变为字符串,如果为正数,直接翻转;如果为负数,翻转到符号位后一位再加上符号即可,具体代码如下:class Solution: def reverse(self, x: int) -> int: if(x<0)原创 2021-07-02 22:42:11 · 154 阅读 · 0 评论 -
Leetcode刷题笔记01——两数之和
一、题目要求给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值target 的那两个整数,并返回它们的数组下标。如:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 输入:nums = [3,2,4], target = 6输出:[1,2]二、题解与答案2.1、暴力解法两个循环,外循环索引为fir_idx ,从0开始,到len(列表长原创 2021-07-01 23:03:21 · 182 阅读 · 1 评论