![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode 热题 HOT 100
主要是记录自己的刷题思路
木子study
这个作者很懒,什么都没留下…
展开
-
leetcode 三数之和
题目描述 给你一个包含 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 = [] 输出:[] 输入:nums = [0] 输出:[] 思路 源于三数之和,我的理解注释都已经写到代码中 代码 class Solu原创 2021-08-28 23:44:19 · 46 阅读 · 0 评论 -
Leetcode 有效的括号
题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 示例1 输入:s = "()" 输出:true 示例2 输入:s = "()[]{}" 输出:true 示例3 输入:s = "([)]" 输出:false 思路 代码很简单,自己看就可以懂,就是一个巧妙的思想创建一个特殊栈 代码 class Solution { public boole原创 2021-08-28 22:55:30 · 40 阅读 · 0 评论 -
leetcode 盛最多水的容器
题目描述 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。 在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 示例 示例2 输入:height = [1,1] 输出:1 示例3 输入:height = [4,3,2,1,4] 输出:16 暴力解法 思路: 双层for循环,找到左右边界值 计算出所有两个点组合所成的面积,求原创 2021-08-28 22:38:20 · 58 阅读 · 0 评论 -
leetcode 最长回文子串
题目描述 给你一个字符串 s,找到 s 中最长的回文子串。 示例 : 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入:s = "cbbd" 输出:"bb" 暴力解法 思路 根据回文子串的定义,枚举所有长度大于等于 2 的子串,依次判断它们是否是回文; 可以只针对大于「当前得到的最长回文子串长度」的子串进行回文验证; 当得到了一个更长的回文时,不需要真的做截取。只需要记录「当前子串的起始位置」和「子串长度」。 class So原创 2021-08-26 23:24:35 · 100 阅读 · 0 评论 -
leetcode 无重复字符的最长子串
题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。`` 输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子原创 2021-08-25 17:11:22 · 53 阅读 · 0 评论 -
leetcode 两数相加
题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 整体思路 通过两个链表对应的value相加,如果超过10就需要用一个进位j来记录,并使用一个sum%10来表示求和后的新链表的value值,sum/10来求出进位j的具体值,链表不为空就继续循环下去,循环条件是两个链表只要有一个不为空即可。 最后循环结束如果原创 2021-08-25 16:43:47 · 54 阅读 · 0 评论 -
leetcode两数之和
要求 给定一个整数数组 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原创 2021-08-25 16:06:14 · 49 阅读 · 0 评论