![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 53
Gordennizaicunzai
这个作者很懒,什么都没留下…
展开
-
LeetCode 1047 删除字符串中的所有相邻重复项
LeetCode 1047 删除字符串中的所有相邻重复项原创 2022-07-26 21:54:46 · 251 阅读 · 0 评论 -
LeetCode 29 两数相除
29. 两数相除难度中等851收藏分享切换为英文接收动态反馈给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8以及truncate(-2.7335) = -2示例1:输入: dividend = 10, divisor = 3输出: 3解释:...原创 2022-03-08 17:23:03 · 122 阅读 · 0 评论 -
LeetCode 151 翻转字符串里的单词
151. 翻转字符串里的单词难度中等465收藏分享切换为英文接收动态反馈给你一个字符串s,逐个翻转字符串中的所有单词。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。请你返回一个翻转s中单词顺序并用单个空格相连的字符串。说明:输入字符串s可以在前面、后面或者单词间包含多余的空格。 翻转后单词间应当仅用一个空格分隔。 翻转后的字符串中不应包含额外的空格。示例 1:输入:s = "the sky is blue"输出:...原创 2022-02-28 19:01:31 · 124 阅读 · 0 评论 -
LeetCode 27 移除元素
27. 移除元素难度简单1164收藏分享切换为英文接收动态反馈给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如...原创 2022-02-02 13:30:29 · 133 阅读 · 0 评论 -
LeetCode 225 用队列实现栈
225. 用队列实现栈难度简单433收藏分享切换为英文接收动态反馈请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop和empty)。实现MyStack类:void push(int x)将元素 x 压入栈顶。 int pop()移除并返回栈顶元素。 int top()返回栈顶元素。 boolean empty()如果栈是空的,返回true;否则,返回false。注意:你只能使用队列的基本操作 —— ...原创 2022-01-28 22:04:42 · 138 阅读 · 0 评论 -
LeetCode 232 用栈实现队列
232. 用栈实现队列难度简单546收藏分享切换为英文接收动态反馈请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:void push(int x)将元素 x 推到队列的末尾 int pop()从队列的开头移除并返回元素 int peek()返回队列开头的元素 boolean empty()如果队列为空,返回true;否则,返回false说明:你只能使用标准的栈操作 —— 也...原创 2022-01-27 22:48:37 · 163 阅读 · 0 评论 -
LeetCode 18 四数之和
18. 四数之和难度中等1092收藏分享切换为英文接收动态反馈给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0 <= a, b, c, d< n a、b、c和d互不相同 nums[a] + nums[b] + nums[c] + nums[d] == target你可以...原创 2022-01-24 22:50:18 · 561 阅读 · 0 评论 -
LeetCode 454 四数相加 II
454. 四数相加 II难度中等476收藏分享切换为英文接收动态反馈给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i, j, k, l)能满足:0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0示例 1:输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 =...原创 2022-01-21 22:32:46 · 441 阅读 · 0 评论 -
LeetCode 349 两个数组的交集
349. 两个数组的交集难度简单476收藏分享切换为英文接收动态反馈给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。class Solution(object): def inters原创 2022-01-21 21:47:21 · 471 阅读 · 0 评论 -
LeetCode 383 赎金信
383. 赎金信难度简单266收藏分享切换为英文接收动态反馈给你两个字符串:ransomNote和magazine,判断ransomNote能不能由magazine里面的字符构成。如果可以,返回true;否则返回false。magazine中的每个字符只能在ransomNote中使用一次。示例 1:输入:ransomNote = "a", magazine = "b"输出:false示例 2:输入:ransomNote = "aa", ...原创 2022-01-20 22:34:55 · 330 阅读 · 0 评论 -
LeetCode 1002 查找共用字符
1002. 查找共用字符难度简单253收藏分享切换为英文接收动态反馈给你一个字符串数组words,请你找出所有在words的每个字符串中都出现的共用字符(包括重复字符),并以数组形式返回。你可以按任意顺序返回答案。示例 1:输入:words = ["bella","label","roller"]输出:["e","l","l"]示例 2:输入:words = ["cool","lock","cook"]输出:["c","o"]class Solut...原创 2022-01-19 23:18:12 · 399 阅读 · 0 评论 -
LeetCode 242 有效的字母异位词
242. 有效的字母异位词难度简单482收藏分享切换为英文接收动态反馈给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false提示:1 <= s.length, t.length...原创 2022-01-19 22:30:17 · 376 阅读 · 0 评论 -
LeetCode 541 反转字符串 II
541. 反转字符串 II难度简单219收藏分享切换为英文接收动态反馈给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。 如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余字符保持原样。示例 1:输入:s = "abcdefg", k = 2输出:"bacdfeg"示例 2:输入:s = "abcd", k = 2输出:"bacd...原创 2021-12-14 17:20:56 · 220 阅读 · 0 评论 -
LeetCode 344 反转字符串
344. 反转字符串难度简单497收藏分享切换为英文接收动态反馈编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:s = ["H","a","n","n","a","h"]输出:["h","a","n","n"..原创 2021-12-14 16:07:33 · 97 阅读 · 0 评论 -
LeetCode 162 寻找峰值
162. 寻找峰值难度中等634收藏分享切换为英文接收动态反馈峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设nums[-1] = nums[n] = -∞。你必须实现时间复杂度为O(log n)的算法来解决此问题。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例2:...原创 2021-10-26 22:49:21 · 144 阅读 · 0 评论 -
LeetCode 56 合并区间
56. 合并区间难度中等1153收藏分享切换为英文接收动态反馈以数组intervals表示若干个区间的集合,其中单个区间为intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例 1:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [...原创 2021-10-26 22:31:46 · 176 阅读 · 0 评论 -
LeetCode 155 最小栈
155. 最小栈难度简单1053收藏分享切换为英文接收动态反馈设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。push(x)—— 将元素 x 推入栈中。 pop()—— 删除栈顶的元素。 top()—— 获取栈顶元素。 getMin()—— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3...原创 2021-10-17 23:49:19 · 161 阅读 · 0 评论 -
LeetCode 36 有效的数独
36. 有效的数独难度中等635收藏分享切换为英文接收动态反馈请你判断一个9x9的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用'.'表示。注意:一个有效的数独(部分已被填充)不一定是可解的。 只需要根据以上规则,验证已经填入的数字是否有效即可。示例 1...原创 2021-09-17 23:39:50 · 131 阅读 · 0 评论 -
LeetCode 148 排序链表
148. 排序链表难度中等1025收藏分享切换为英文接收动态反馈给你链表的头结点head,请将其按升序排列并返回排序后的链表。进阶:你可以在O(nlogn)时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]示例 3:输入:head = []输出:[]提示:...原创 2021-03-05 22:17:23 · 94 阅读 · 0 评论 -
LeetCode 543 二叉树的直径
543. 二叉树的直径难度简单621收藏分享切换为英文接收动态反馈给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的...原创 2021-02-28 17:05:29 · 109 阅读 · 0 评论 -
LeetCode 112 路径总和
112. 路径总和难度简单518收藏分享切换为英文接收动态反馈给你二叉树的根节点root和一个表示目标和的整数targetSum,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。叶子节点是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true示例 2:输入:root = ...原创 2021-02-27 20:46:46 · 147 阅读 · 1 评论 -
LeetCode 104 二叉树的最大深度
104. 二叉树的最大深度难度简单802收藏分享切换为英文接收动态反馈给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。广度优先遍历,记录数的层数,遍历完整棵树,返回层数。# Definition for a binary t...原创 2021-02-25 22:09:28 · 110 阅读 · 0 评论 -
LeetCode 783 二叉搜索树节点最小距离
783. 二叉搜索树节点最小距离难度简单112给定一个二叉搜索树的根节点root,返回树中任意两节点的差的最小值。示例:输入: root = [4,2,6,1,3,null,null]输出: 1解释:注意,root是树节点对象(TreeNode object),而不是数组。给定的树 [4,2,6,1,3,null,null] 可表示为下图: 4 / \ 2 6 / \ 1 3 ..原创 2021-02-23 23:27:56 · 119 阅读 · 0 评论 -
LeetCode 111 二叉树的最小深度
111. 二叉树的最小深度难度简单455收藏分享切换为英文接收动态反馈给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在[0, 105]内 -1000 &l...原创 2021-02-21 23:05:01 · 118 阅读 · 3 评论 -
LeetCode 107 二叉树的层序遍历 II
给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层序遍历为:[ [15,7], [9,20], [3]]广度优先遍历,再将结果列表反向输出。# Definition for a binary tree node.# class TreeNode...原创 2021-02-18 22:49:07 · 115 阅读 · 0 评论 -
LeetCode 102 二叉树的层序遍历
102. 二叉树的层序遍历难度中等772收藏分享切换为英文接收动态反馈给你一个二叉树,请你返回其按层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层序遍历结果:[ [3], [9,20], [15,7]]广度优先遍历:# Definition for a binary tree n...原创 2021-02-16 22:41:29 · 181 阅读 · 0 评论 -
LeetCode 35 搜索插入位置
35. 搜索插入位置难度简单815收藏分享切换为英文接收动态反馈给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0已排序,首选二分..原创 2021-02-08 21:34:37 · 101 阅读 · 0 评论 -
LeetCode 2 两数相加
2. 两数相加难度中等5589收藏分享切换为英文接收动态反馈给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 =...原创 2021-02-04 23:19:34 · 138 阅读 · 1 评论 -
LeetCode 20 有效的括号
20. 有效的括号难度简单2132收藏分享切换为英文接收动态反馈给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:...原创 2021-02-02 23:28:40 · 140 阅读 · 0 评论 -
LeetCode 15 三数之和
15. 三数之和难度中等2919收藏分享切换为英文接收动态反馈给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?请你找出所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输...原创 2021-01-31 23:17:19 · 127 阅读 · 0 评论 -
LeetCode 17 电话号码的字母组合
17. 电话号码的字母组合难度中等1101给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。递归方法:class Solution(object): def ...原创 2021-01-29 00:11:51 · 142 阅读 · 0 评论 -
LeetCode 11 盛最多水的容器
11. 盛最多水的容器难度中等2142收藏分享切换为英文接收动态反馈给你n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]...原创 2021-01-28 00:01:19 · 127 阅读 · 0 评论 -
LeetCode 3 无重复字符的最长子串
3. 无重复字符的最长子串难度中等3957收藏分享切换为英文关注反馈给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 ...原创 2020-07-13 20:33:26 · 131 阅读 · 0 评论 -
LeetCode 1 两数之和
1. 两数之和难度简单8504收藏分享切换为英文关注反馈给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]1、暴力求解,效率低。class Solution:...原创 2020-06-26 23:01:13 · 162 阅读 · 0 评论