34. 搜索范围 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n...
34. 搜索范围 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n...
162. 寻找峰值 描述 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可...
215. 数组中的第K个最大元素 描述 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 思...
347. 前K个高频元素 描述 Top K Frequent Elements 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 给定数组 [1,1,1,2,...
75. 分类颜色 描述 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整...
79. 单词搜索 Word Search 描述 Given a 2D board and a word, find if the word exists in the gri...
78. 子集 Subsets 描述 Given a set of distinct integers, nums, return all possible subsets (...
46. 全排列 Permutations 描述 Given a collection of distinct integers, return all possible pe...
22. 括号生成 描述 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 示例 思路 暴力法,利用回溯列出全排列,然后筛选其中符合条...
17. 电话号码的字母组合 描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 ...
200. 岛屿的个数 描述 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。...
230. 二叉搜索树中第K小的元素 描述 给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第 k 个最小的元素。 说明 你可以假设 k 总是有效的,1 ≤ k...
116. 填充同一层的兄弟节点 描述 给定一个二叉树,填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NU...
105. 从前序与中序遍历序列构造二叉树 描述 根据一棵树的前序遍历与中序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 示例 思路 前序遍历中的第一个元素为根节点,...
103. 二叉树的锯齿形层次遍历 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 示例 思路 利用队...
94. 二叉树的中序遍历 描述 给定一个二叉树,返回它的中序遍历。 示例 思路 递归解法,较为简单,左子树 -> 根 -> 右子树 非递归解法,利用栈,让代码跟着思路走(参考...
160. 相交链表 描述 编写一个程序,找到两个单链表相交的起始节点。 示例 思路 计算出两链表的长度差,然后让长的链表先走diff步,两个链表一起走,若能相遇则为相交的起始...
328. 奇偶链表(Odd Even Linked List) 简述 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的...
2. 两数相加 描述 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两...
334. 递增的三元子序列 描述 给定一个未排序的数组,请判断这个数组中是否存在长度为3的递增的子序列。 示例 思路 找出中间的数,如果一个数左边存在比它大的,右边存在比它小...