LeetCode
SpongeBob007号
这个作者很懒,什么都没留下…
展开
-
17. 电话号码的字母组合
17. 电话号码的字母组合题目描述示例分析实现代码题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].分析实现代码...原创 2019-04-25 20:42:00 · 361 阅读 · 0 评论 -
7. 反转整数
反转整数题目示例示例1示例2示例3注意题目分析代码实现题目给定一个 32 位有符号整数,将整数中的数字进行反转。示例示例1输入: 123输出: 321示例2输入: -123输出: -321示例3输入: 120输出: 21注意假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。题目分...原创 2018-11-04 13:08:33 · 316 阅读 · 0 评论 -
6. Z字形变换
Z字形变换题目示例示例1示例2代码题目将字符串 “PAYPALISHIRING” 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:“PAHNAPLSIIGYIR”实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例示例1输入: s ...原创 2018-11-11 17:24:33 · 303 阅读 · 0 评论 -
LeetCode目录
LeetCode目录1. 两数之和2. 两数相加3. 无重复字符的最长子串4. 寻找两个有序数组的中位数6. Z字形变换7. 反转整数8. 字符串转换整数9. 回文数12. 整数转罗马数字13. 罗马数字转整数14. 最长公共前缀20. 有效的括号21. 合并两个有序链表74. 搜索二维矩阵88. 合并两个有序数组136. 只出现一次的数字319. 灯泡开关1. 两数之和https://blo...转载 2019-07-19 22:23:37 · 718 阅读 · 0 评论 -
19. 删除链表的倒数第N个节点
19. 删除链表的倒数第N个节点题目描述示例示例1示例2题目分析代码实现题目描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例示例1给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.示例2链表只有一个结点: 1, n = 1.当删除了倒数...原创 2019-04-23 20:22:56 · 218 阅读 · 0 评论 -
34. 在排序数组中查找元素的第一个和最后一个位置
34. 在排序数组中查找元素的第一个和最后一个位置题目描述示例示例1示例2分析Code(Java)第一种:暴力第二种:二分法题目描述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例示例1输入: nums = [5,7,...原创 2019-04-30 22:30:13 · 307 阅读 · 0 评论 -
31. 下一个排列
31. 下一个排列题目描述示例分析Code(Java)题目描述实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。示例以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → ...原创 2019-05-07 22:10:15 · 284 阅读 · 0 评论 -
51. N皇后
51. N皇后题目描述示例分析Code(Java)题目描述n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例输入: 4输出: [ ["...原创 2019-06-02 17:53:58 · 284 阅读 · 0 评论 -
205. 同构字符串
205. 同构字符串题目示例示例1示例2示例3分析Code(Java)题目给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。来源:力扣(LeetCode)链接:https://leetcode-cn.com/...原创 2019-06-17 20:41:19 · 203 阅读 · 0 评论 -
61. 旋转链表
61. 旋转链表题目描述示例示例1示例2分析Code(Java)题目描述给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rotate-list示例示例1输入: 1->2->3->4->5->NULL, k = 2输出: ...原创 2019-06-17 20:54:42 · 133 阅读 · 0 评论 -
15. 三数之和
15. 三数之和题目描述示例Code(Java)题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],...原创 2019-07-19 22:11:19 · 212 阅读 · 0 评论 -
18. 四数之和
18. 四数之和题目示例分析Code(Java)题目给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。来源:力扣(LeetCode)链接:https://leetcode-cn....原创 2019-07-19 22:23:01 · 242 阅读 · 0 评论 -
2. 两数相加
两数相加题目示例题目分析代码题目给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807题目分析原创 2018-10-28 23:09:19 · 261 阅读 · 0 评论 -
1. 两数之和
两数之和题目示例解法方法1方法2代码实现方法1方法2题目给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解法方法1直接双重循环遍历数组,查找和值...原创 2018-10-21 18:07:55 · 8211 阅读 · 0 评论 -
13. 罗马数字转整数
罗马数字转整数题目示例示例1示例2示例3示例4示例5题目分析题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1...原创 2018-11-18 17:18:30 · 658 阅读 · 0 评论 -
3.无重复字符的最长子串
03.无重复字符的最长子串题目描述示例示例1示例2示例3分析代码实现题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例示例1输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例3输入: ...原创 2019-04-21 22:48:27 · 210 阅读 · 0 评论 -
319. 灯泡开关
319. 灯泡开关题目示例分析实现代码题目初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。示例输入: 3输出: 1 解释: 初始时, 灯泡状态 [...原创 2019-04-17 18:31:50 · 256 阅读 · 0 评论 -
136. 只出现一次的数字
136. 只出现一次的数字题目示例示例1示例2分析实现代码题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例示例1输入: [2,2,1]输出: 1示例2输入: [4,1,2,1,2]输出: 4分析异或运算符的应用:运算特点:相同为0,不同为1交换律:a ^ b ^ c <=> a ^ c ^ ...原创 2019-04-15 11:26:05 · 215 阅读 · 0 评论 -
88. 合并两个有序数组
88. 合并两个有序数组题目示例分析实现代码题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例输入:nums1 = [1,2,...原创 2019-04-15 11:11:42 · 293 阅读 · 0 评论 -
21. 合并两个有序链表
21. 合并两个有序链表题目示例分析实现代码题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4分析先确定合并链表第一个节点 ,在循环中同时遍历两个链表,将后面其余节点逐次比较,依大小次序连接到首节点之后,...原创 2019-04-15 10:57:04 · 175 阅读 · 0 评论 -
74. 搜索二维矩阵
搜索二维矩阵题目示例示例1示例2分析代码题目编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例示例1输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]target = 3...原创 2019-04-14 20:26:07 · 276 阅读 · 0 评论 -
20. 有效的括号
有效的括号题目示例示例1示例2示例3示例4示例5分析代码题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例示例1输入: "()"输出: true示例2输入: "()[]{}"输出: true示例3输入...原创 2018-12-20 21:19:45 · 1538 阅读 · 0 评论 -
9. 回文数
回文数原创 2018-12-10 21:16:43 · 802 阅读 · 0 评论 -
14. 最长公共前缀
最长公共前缀题目示例示例1示例2代码题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例示例1输入: ["flower","flow","flight"]输出: "fl"示例2输入: ["dog","racecar"原创 2018-12-03 20:12:00 · 293 阅读 · 0 评论 -
4. 寻找两个有序数组的中位数
寻找两个有序数组的中位数题目示例示例1示例2分析代码题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例示例1nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例2nums1 = [1, ...原创 2018-11-29 19:41:17 · 316 阅读 · 0 评论 -
12. 整数转罗马数字
整数转罗马数字题目示例示例1示例2示例3示例4示例5代码题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 100...原创 2018-11-22 20:21:08 · 550 阅读 · 0 评论 -
16. 最接近的三数之和
16. 最接近的三数之和题目示例分析Code(Java)题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum-closest示例例如,给定数...原创 2019-07-20 11:49:41 · 300 阅读 · 0 评论