LeetCode题解
文章平均质量分 61
清風逐尘乀
我在黑夜中游走,为天明而奋斗。
展开
-
LeetCode011——盛最多水的容器
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/container-with-most-water/description/题目描述:知识点:对撞双指针思路一:暴力解法,双重循环这个问题本质上是一个组合问题,在一个数组中选取两个元素使得某个值...原创 2018-08-04 09:49:40 · 4160 阅读 · 0 评论 -
LeetCode076——最小覆盖子串
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/minimum-window-substring/description/题目描述:知识点:滑动窗口思路:哈希表记录字符串T中的值,滑动窗口法遍历字符串S寻找最小子串(1)设置一个变量len记录满足...原创 2018-08-05 09:51:23 · 10152 阅读 · 0 评论 -
LeetCode127——单词接龙
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/word-ladder/description/题目描述:知识点:图的广度优先遍历,SPFA算法思路一:图的广度优先遍历(1)新建一个辅助的类LevelWord,类包含两个属性,代表word的Str...原创 2018-08-09 23:45:01 · 4356 阅读 · 0 评论 -
LeetCode126——单词接龙II
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/word-ladder-ii/description/题目描述:知识点:图的广度优先遍历、图的深度优先遍历、SPFA算法、回溯思路一:图的广度优先遍历+图的深度优先遍历(LeetCode中提交会超时)...原创 2018-08-10 09:29:42 · 4059 阅读 · 1 评论 -
LeetCode015——三数之和
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/3sum/description/题目描述:知识点:哈希表,对撞双指针思路一:暴力解法(LeetCode中超时)三重循环遍历nums数组。时间复杂度是O(n ^ 3),其中n为数组nums的长度。空...原创 2018-08-06 10:41:04 · 1133 阅读 · 0 评论 -
LeetCode037——解数独
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/sudoku-solver/description/题目描述:知识点:递归,回溯思路:利用回溯法对于每一个待填充位置都尝试着填充合法的值(1)新建一个成员变量retBoard,该成员变量是一个cha...原创 2018-08-14 08:43:25 · 789 阅读 · 0 评论 -
LeetCode101——对称二叉树
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/symmetric-tree/description/题目描述:知识点:递归,队列思路一:翻转根结点的右子树,比较与根结点的左子树是否相同具体实现步骤如下:(1)如果root结点为null,则直...原创 2018-08-11 08:58:00 · 451 阅读 · 0 评论 -
LeetCode149——直线上最多的点数
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/max-points-on-a-line/description/题目描述:知识点:哈希表、欧几里得最大公约数算法思路:用分数形式存储直线的斜率,切勿忘记斜率不存在的情况(1)新建一个长度为点的数量...原创 2018-08-07 10:09:55 · 4344 阅读 · 0 评论 -
LeetCode093——复原IP地址
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/restore-ip-addresses/description/题目描述:知识点:递归,回溯思路:回溯法穷举所有可能的IP地址格式(1)在题给的Solution类里新建一个私有的List<S...原创 2018-08-12 09:28:18 · 7787 阅读 · 0 评论 -
LeetCode198——打家劫舍
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/house-robber/description/题目描述:知识点:动态规划思路一:动态规划I状态定义:f(x) -------- 考虑偷取[0, x]范围内的房子。状态转移:f(x) ...原创 2018-08-15 08:49:11 · 940 阅读 · 0 评论 -
LeetCode001——两数之和
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/two-sum/description/题目描述:知识点:哈希表思路一:暴力解法对于数组中的每一个元素进行遍历,设立索引i从0遍历到nums.length - 1。对于每一个元素,由于要求的是一个组...原创 2018-08-08 08:01:55 · 507 阅读 · 0 评论 -
LeetCode079——单词搜索
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/word-search/description/题目描述:知识点:递归,回溯思路:回溯法判断单词的存在性这是一个二维平面上的回溯法的应用的经典例题。我们在board数组里首先定位到word字符串...原创 2018-08-13 08:38:14 · 3278 阅读 · 0 评论 -
LeetCode002——两数相加
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/add-two-numbers/description/题目描述:知识点:链表思路:在计算过程中实时地考虑进位的影响这是两个非空的链表,且位数是按照逆序方式存储在这两个链表中的,因此,如果不考虑进位...原创 2018-08-17 23:37:13 · 1327 阅读 · 0 评论 -
LeetCode003——无重复字符的最长子串
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/description/题目描述:知识点:滑动窗口思路一:暴力解法用双重循环来求得所可能取得的所有的子串...原创 2018-08-18 08:58:00 · 833 阅读 · 0 评论 -
LeetCode213——打家劫舍II
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/house-robber-ii/description/题目描述:知识点:动态规划思路:两次LeetCode198——打家劫舍第一个房屋和最后一个房屋是紧挨着的,说明第一个房屋和最后一个房屋不能同时...原创 2018-08-16 09:06:03 · 2967 阅读 · 2 评论 -
LeetCode008——字符串转整数(atoi)
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/string-to-integer-atoi/description/题目描述:知识点:字符串思路:顺序遍历字符串,根据题意读取整数对于这一题来说,难点不在算法的实现上,难点在理解题意并正确处理各种...原创 2018-08-22 07:48:30 · 4090 阅读 · 3 评论 -
LeetCode009——回文数
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/palindrome-number/description/题目描述:知识点:字符串、数学思路一:将整数转为字符串注意判断字符串是否是回文序列只需要遍历字符串一半的长度即可。时间复杂度是O(n)...原创 2018-08-22 09:09:20 · 283 阅读 · 0 评论 -
LeetCode004——两个排序数组的中位数
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/description/题目描述:知识点:二分查找,分治算法思路一:设两个指针依次从小到大遍历两个有序数组,得到中位数这是我的第一个想法,求中...原创 2018-08-19 23:10:35 · 1820 阅读 · 2 评论 -
LeetCode094——二叉树的中序遍历
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/description/题目描述:知识点:二叉树、中序遍历、递归思路一:递归实现学过数据结构的人都知道,二叉树天然的具有递归性质,因为二叉...原创 2018-08-26 09:51:25 · 14263 阅读 · 2 评论 -
LeetCode005——最长回文子串
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/longest-palindromic-substring/description/题目描述:知识点:动态规划思路一:暴力解法(在LeetCode中提交会超时)注意回文子串的定义,题目中的回文子串要...原创 2018-08-20 23:58:42 · 1413 阅读 · 0 评论 -
LeetCode018——四数之和
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/4sum/description/题目描述:知识点:哈希表、对撞双指针思路一:暴力解法先排序,再四重循环遍历求解。循环次数实在是有点多,我都不知道怎么给循环变量命名了,好在LeetCode中并没有超...原创 2018-08-30 23:22:21 · 1616 阅读 · 0 评论 -
LeetCode145——二叉树的后序遍历
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/description/题目描述:知识点:二叉树、后序遍历、递归思路一:递归实现学过数据结构的人都知道,二叉树天然的具有递归性质,因为...原创 2018-08-27 22:55:51 · 435 阅读 · 1 评论 -
LeetCode013——罗马数字转整数
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/roman-to-integer/description/题目描述:知识点:数学、字符串思路:判断I、X、C字符时要判断其下一个字符的字符值本题是LeetCode12——整数转罗马数字的逆过程。...原创 2018-08-28 08:43:40 · 858 阅读 · 0 评论 -
LeetCode014——最长公共前缀
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/longest-common-prefix/description/题目描述:知识点:字符串思路一:以第一个字符串为基准找最长公共前缀对于第一个字符串中的每一个字符,都要在后序的字符串中的相应位置找...原创 2018-08-28 09:35:16 · 4395 阅读 · 0 评论 -
LeetCode010——正则表达式匹配
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/regular-expression-matching/description/题目描述:知识点:递归、动态规划思路一:递归递归的终止条件:(1)如果s字符串的长度为0,如果此时字符串p当且仅当...原创 2018-08-24 08:58:56 · 6739 阅读 · 6 评论 -
LeetCode019——删除链表的倒数第N个节点
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/description/题目描述:知识点:链表思路一:两趟扫描在链表中删除节点的关键在于,找到待删除节点的前一个节点。由于我们不知道...原创 2018-08-31 08:39:54 · 167 阅读 · 0 评论 -
LeetCode020——有效的括号
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/valid-parentheses/description/题目描述:知识点:栈思路:利用栈的后入先出性质来匹配括号依次遍历输入字符串s中的每一个字符,如果是左括号,直接入栈。如果是右括号,栈顶元素...原创 2018-08-31 08:52:49 · 298 阅读 · 0 评论 -
LeetCode021——合并两个有序链表
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/description/题目描述:知识点:链表思路一:迭代实现归并排序的子过程学习过归并排序的人肯定知道,本题其实是归并排序中的归并过程。设立一个包含虚...原创 2018-08-31 09:31:11 · 257 阅读 · 0 评论 -
LeetCode012——整数转罗马数字
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/integer-to-roman/description/题目描述:知识点:字符串思路一:if-else语句循环按题意依次判断各位上的值本题其实很简单。首先,读懂题意。其次,按题意一步一步写出代码即...原创 2018-08-25 00:02:55 · 531 阅读 · 0 评论 -
LeetCode022——括号生成
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/generate-parentheses/description/题目描述:知识点:递归、回溯思路一:暴力解法(没有剪枝操作的回溯)先生成出所有可能的括号组合,再筛选出有效的括号组合。对于n对括...原创 2018-08-31 23:08:35 · 2210 阅读 · 0 评论 -
LeetCode006——Z字形变换
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/zigzag-conversion/description/题目描述:知识点:字符串思路一:用一个二维char型数组来存储各字符,再从数组中按一定顺序取出字符拼接出结果这个思路模拟的就是我们手工排列...原创 2018-08-21 22:11:36 · 239 阅读 · 0 评论 -
LeetCode007——反转整数
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/reverse-integer/description/题目描述:知识点:字符串,int类型,数学思路一:用long类型变量来存储转换后的结果来判断是否越界由于int型数据越界之后会出现意想不到的结...原创 2018-08-21 22:46:35 · 2220 阅读 · 2 评论 -
LeetCode016——最接近的三数之和
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/3sum-closest/description/题目描述:知识点:数组、对撞双指针思路一:暴力解法三重循环遍历nums数组。时间复杂度是O(n ^ 3),其中n为数组nums的长度。空间复杂度是O...原创 2018-08-29 08:27:50 · 297 阅读 · 0 评论 -
LeetCode017——电话号码的字母组合
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/description/题目描述:知识点:回溯算法思路:递归回溯法穷举所有可能的组合本题是回溯法的一个经典应用场景。而且该...原创 2018-08-29 08:58:58 · 298 阅读 · 0 评论 -
LeetCode144——二叉树的前序遍历
原题链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/description/题目描述:知识点:二叉树、前序遍历、递归思路一:递归实现学过数据结构的人都知道,二叉树天然的具有递归性质,因为二叉树的定义就是用递归的形式定义的。因此,在前序遍历二叉树的时候我们完全可以采用递归算法。所谓前序遍历,...原创 2018-08-25 23:17:54 · 1257 阅读 · 0 评论 -
LeetCode024——两两交换链表中的节点
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/description/题目描述:知识点:链表思路:三指针遍历链表如果题目没有要求使用常数的额外空间,我们完全可以用一个数组来存储链表中每一节点的值,再按照数...原创 2018-09-04 08:05:50 · 642 阅读 · 0 评论 -
LeetCode206——反转链表
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/reverse-linked-list/description/题目描述:知识点:链表思路一:递归地反转链表递归的终止条件:(1)head为null,直接返回head。(2)head.nex...原创 2018-09-04 09:06:59 · 5591 阅读 · 0 评论 -
LeetCode025——k个一组翻转链表
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/description/题目描述:知识点:链表思路:LeetCode024——两两交换链表中的节点和LeetCode206——反转链表的结合我们需要...原创 2018-09-04 09:48:06 · 338 阅读 · 0 评论 -
LeetCode026——删除排序数组中的重复项
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/description/题目描述:知识点:数组、双指针思路:一个指针从前往后遍历数组,另一个指针记录非重复元素的值非重复元素的...原创 2018-09-05 08:02:57 · 265 阅读 · 0 评论 -
LeetCode023——合并K个排序链表
我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/merge-k-sorted-lists/description/题目描述:知识点:链表,归并排序思路一:和LeetCode021——合并两个有序链表同样的思路既然我们能用归并排序的思路合并两个有序...原创 2018-09-01 09:39:17 · 313 阅读 · 0 评论