LeetCode刷题
文章平均质量分 52
GuanghaoChen
这个作者很懒,什么都没留下…
展开
-
LeetCode题解--143. 重排链表
分析将链表L0→L1→…→Ln-1→Ln 排列成L0→Ln→L1→Ln-1→L2→Ln-2→ 观察第二个链表是交替排列的。依次从原链表头取一个,从原链表尾取一个。 单链表的最大问题就是不能够逆向获取节点,因此我的思路是将每一个节点的指针保存到vector中,这样能够做到随机访问。算法思路判断是否是空链表或单节点的链表,如是返回head;while遍历单链表,将每一个节点的指...原创 2018-07-12 13:34:35 · 559 阅读 · 0 评论 -
LeetCode题解--17. 电话号码的字母组合
1. 题目    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 输入:”23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].2. 回溯法介绍  &nbs原创 2018-07-22 22:58:22 · 884 阅读 · 0 评论 -
LeetCode题解--90. 子集 II
1. 题目给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []]2. 分析 参考题目78。 &nb...原创 2018-07-30 14:14:29 · 564 阅读 · 0 评论 -
LeetCode题解--653. 两数之和 IV - 输入 BST
1. 题目给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 输入: 5 / \ 3 6 / \ \2 4 7Target = 9输出: True输入: 5 / \ 3 6 / \ \2 4 7Target = 28输出: False...原创 2018-07-26 12:57:08 · 291 阅读 · 0 评论 -
LeetCode题解--26. 删除排序数组中的重复项
1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1...原创 2018-07-13 21:03:10 · 260 阅读 · 0 评论 -
LeetCode题解--147. 对链表进行插入排序
1. 题目对链表进行插入排序。     插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。     每次迭代时,从输入数据中移除原创 2018-07-13 18:54:14 · 1061 阅读 · 0 评论 -
LeetCode题解--141.环形链表
1. 题目给定一个链表,判断链表中是否有环。 进阶: 你能否不使用额外空间解决此题?2. 测试输入:[1] no cycle,输出false;输入:[1,2] no cycle,输出false; 输入:[1]3. 分析我们首先画一下如果链表存在环的情况,如下图所示。   如果链表存在环,那么这个链表一定从某一个节点开始会出现环的入口,最后,...原创 2018-07-13 17:05:02 · 4239 阅读 · 1 评论 -
LeetCode题解--78. 子集
1. 题目给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。 示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]2. 分析 子集树。采用DF...原创 2018-07-24 18:47:12 · 393 阅读 · 0 评论 -
LeetCode题解--105. 从前序与中序遍历序列构造二叉树
1. 题目根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出//前序遍历 preorder = [3,9,20,15,7]//中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 72. 分析 &nbs...原创 2018-07-24 15:33:37 · 5106 阅读 · 0 评论 -
LeetCode题解--160. 相交链表
题目编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表: A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3 在节点 c1...原创 2018-07-12 22:14:30 · 1580 阅读 · 0 评论 -
LeetCode题解--206. 反转链表
分析题目要求输入一个链表,然后输出一个反向的单链表。可以仍然利用stack来完成倒置的功能,但是进阶解法采用递归的方式,因此,本题目使用递归进行求解。 之所以,该题可以使用递归,是因为假设某一节点x后面的链表都已经倒置,那么,只需要将这个节点的next指针倒过来即可。因此,我们也采用这样的思路,递归地去倒置后面链表的指针。测试输入: 1->2->3->4-&gt...原创 2018-07-12 17:31:31 · 314 阅读 · 0 评论 -
LeetCode题解--208.实现 Trie (前缀树)
一、背景 摘抄自别人的博客“trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。” 总体来讲,前缀树的构造过程...原创 2018-09-02 15:26:49 · 1925 阅读 · 0 评论