leetcode
俩只猴
独自奋斗的程序猿
展开
-
leetcode刷题-[20]有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入:s = "()[]{}" 输出:true 示例 3: 输入:s = "(]" 输出:false 示例 4: 输入:s = "([)]" 输出:false 示例 5: 输入:s = "{[]}" 输出:true 思路 首先我们维护一个ma原创 2021-09-12 23:54:38 · 268 阅读 · 0 评论 -
leetcode刷题-[19]删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 **进阶:**你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 思路1 删除链表的倒数第 n 个结点,可以联想到 倒数第n个节点和链表结束的null节点是一个 “窗口”,知道这一点我们维护这个窗口就好了 因为涉及到了 修原创 2021-09-12 23:53:45 · 289 阅读 · 0 评论 -
leetcode刷题-[17]电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = "23" 输出:["ad","ae","af","bd","be","bf","cd","ce","cf"] 示例 2: 输入:digits = "" 输出:[] 示例 3: 输入:digits = "2" 输出:["a","b","c"] 思路 题目中说的是组合,可以采用回溯法的方法来解答,但是有原创 2021-09-12 23:53:07 · 273 阅读 · 1 评论 -
leetcode刷题-[15]三数之和
给你一个包含 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] 输出:[] 思路 将三数之和固定首位的一个数看做target,就转换为了和两数之和原创 2021-09-07 23:23:41 · 194 阅读 · 0 评论 -
leetcode刷题-[14]最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 示例 2: 输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。 思路 prefixStr = strs[0] 作为题目结果 然后同其他str去比较,如果不是其他字符串的公共前缀,就将prefixStr 末尾左移一位,这样一直判断,知道符合条件 同理继续判断下原创 2021-09-07 23:17:52 · 165 阅读 · 0 评论 -
leetcode刷题-[13]罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况原创 2021-09-07 23:15:47 · 121 阅读 · 0 评论 -
leetcode刷题- [3]无重复字符的最长子串
前言 好久没有做题了,先来无聊随便把以前做过的题目做一遍,之前也没有总结,所以这次就持续总结喽,写点思路。 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 思路 abcabcbb 维护一个i 和 j 指针,以及一个set原创 2021-09-07 23:14:14 · 113 阅读 · 0 评论 -
leetcode刷题-[42]接雨水
题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 code /** * @param height * @return * 当前柱子如果小于等于栈顶元素,说明形不成凹槽,则将当前柱子入栈;反之若当前柱子大于栈顶元素原创 2021-02-28 00:45:20 · 231 阅读 · 0 评论