LeetCode
Gerald Kwok
低到尘埃里,才能开出花来。
展开
-
LeetCode.只出现一次的数 I 、II 、 III
只出现一次的数,三种题型1.只出现一次的数I给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4这道题很简单,将数组中所有的数字挨个抑或就行,因为两个相同的数...原创 2019-03-29 16:45:38 · 134 阅读 · 0 评论 -
LeetCode.50 Pow(x, n)
LeetCode.50 Pow(x, n)题目描述:实现 pow(x, n) ,即计算 x 的 n 次幂函数。这道题如果你非要return pow(x, n)那你就可跳过这篇伟大的博客了。哼!解题思路:我再做这道题的时候先用的是这种方法:class Solution {public: double myPow(double x, int n) ...原创 2019-03-26 17:13:22 · 102 阅读 · 0 评论 -
简单的链表OJ题
简单的链表面试题1.逆置单链表解题思路:将原链表进行头删,并对新链表进行头插。源代码:ListNode *reverseList(ListNode *head){ if (head == NULL) return NULL; struct ListNode *new_head = NULL; struct ListNode *cur = NULL; //头删和头插 w...原创 2019-01-25 19:06:58 · 971 阅读 · 0 评论 -
leetcode 23.合并K个排序链表
leetcode 23.合并K个排序链表题目描述:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6解题思路:你是否还记得这道题的简单版本《LeetCode 21...原创 2019-04-09 20:08:16 · 263 阅读 · 0 评论 -
链表 双指针技巧
链表 双指针技巧在我们做题中,若只是一个指针遍历链表可能无法达到我们的需求。那么我们就可以定义两个指针,例如本篇博客要引入的双指针。主要是一个快指针,一个慢指针,来解决问题。来,我们主要从一些题中来体会这种方法的精妙之处。环形链表题目描述:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos ...原创 2019-04-27 19:35:18 · 2800 阅读 · 0 评论 -
LeetCode 430. 扁平化多级双向链表
LeetCode 430. 扁平化多级双向链表题目描述:您将获得一个双向链表,除了下一个和前一个指针之外,它还有一个子指针,可能指向单独的双向链表。这些子列表可能有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。扁平化列表,使所有结点出现在单级双链表中。您将获得列表第一级的头部。示例:输入: 1---2---3---4---5---6--NULL ...原创 2019-04-27 19:50:05 · 321 阅读 · 0 评论 -
LeetCode.215 数组中的第K个最大元素
LeetCode.215 数组中的第K个最大元素题目描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤...原创 2019-04-24 10:28:56 · 237 阅读 · 0 评论 -
LeetCode 209. 长度最小的子数组(双指针法)
LeetCode 209. 长度最小的子数组(双指针法)题目描述:给定一个含有 n 个正整数的数组和一个正整数 **s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。**如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成...原创 2019-05-05 17:04:11 · 621 阅读 · 0 评论