自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (1)
  • 收藏
  • 关注

原创 LeetCode0215.数组中的第K个最大的元素

0215.数组中的第K个最大的元素描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。实例输入: [3,2,1,5,6,4] 和 k = 2输出: 5输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。题解直接使用...

2018-12-25 20:28:26 234

原创 LeetCode0636.函数的独占时间

0636.函数的独占时间描述给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间。每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用。日志是具有以下格式的字符串:function_id:start_or_end:timestamp。例如:"0:start:0" 表示函数 0 从 0 时刻开始运行。"0:end:0" 表示函数 0 在 0 ...

2018-12-24 23:45:44 219

原创 LeetCode0103.二叉树的锯齿形层次遍历

0103.二叉树的锯齿形层次遍历描述给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]...

2018-12-24 21:43:51 261

原创 LeetCode0844.比较含退格的字符串

0844.比较含退格的字符串描述给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。实例输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。输入:S = "a##...

2018-12-20 21:15:11 200

原创 LeetCode0503.下一个更大的元素II

0503.下一个更大的元素II描述给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。实例输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 找不...

2018-12-20 20:55:10 159

原创 LeetCode0150.逆波兰表达式求值

0150.逆波兰表达式求值描述根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。实例输入: ["2", "1", "+", "3", "*"]输出: 9解释: ((2 + 1) * ...

2018-12-20 20:09:12 121

原创 LeetCode.0946.验证栈顺序

0946.验证栈顺序描述给定 pushed 和 popped 两个序列,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。实例输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3)...

2018-12-20 00:23:27 257

原创 LeetCode 0739.每日温度

0739.每日温度描述根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高的天数。如果之后都不会升高,请输入 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示气温 列表长度的范围是 [1...

2018-12-19 23:34:36 269

原创 LeetCode0496.下一个更大的元素I

0496.下一个更大的元素I描述给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。实例输入: nums1 = [4,1,2], nums2...

2018-12-19 00:47:18 171

原创 LeetCode0144.二叉树的前序遍历

0144.二叉树的前序遍历描述给定一个二叉树,返回它的 前序 遍历。实例输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]题解 public List<Integer> preorderTraversal(TreeNode root) { List<Integer> ...

2018-12-17 22:56:25 224

原创 LeetCode0682.棒球比赛

0682.棒球比赛描述你现在是棒球比赛记录员。 给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。"+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。"D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。"C"(一个操作,这不是一个回合的分数):表示您获得的最后...

2018-12-17 21:54:46 152

原创 LeetCode0537.复数乘法

0537.复数乘法描述给定两个表示复数的字符串。返回表示它们乘积的字符串。注意,根据定义 i2 = -1 。实例输入: "1+1i", "1+1i"输出: "0+2i"解释: (1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要将它转换为 0+2i 的形式。输入: "1+-1i", "1+-1i"输出: "0+-2i"解释: (1

2018-11-27 19:54:36 493

原创 LeetCode0039.组合总和

0039.组合总和描述给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明所有数字(包括 target)都是正整数。解集不能包含重复的组合。实例输入: candidates = [2,3,6,7], target = 7,所...

2018-11-27 19:38:40 110

原创 LeetCode0230.二叉搜索树中第K小的元素

0230.二叉搜索树中第K小的元素描述给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 **k **个最小的元素。说明你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。实例输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1输入: root = [5,3,6,2,4,n...

2018-11-27 19:17:34 136

原创 LeetCode0908.最小差值

0908.最小差值I描述给定一个整数数组 A,对于每个整数 A[i],我们可以选择任意 x 满足 -K <= x <= K,并将 x 加到 A[i] 中。在此过程之后,我们得到一些数组 B。返回 B 的最大值和 B 的最小值之间可能存在的最小差值。实例输入:A = [1], K = 0输出:0解释:B = [1]输入:A = [0,10], K = 2输出:6解...

2018-11-27 17:21:35 223

原创 LeetCode0924.增减字符串匹配

0942.增减字符串匹配描述给定只含 "I"(增大)或 "D"(减小)的字符串 S ,令 N = S.length。返回 [0, 1, ..., N] 的任意排列 A 使得对于所有 i = 0, ..., N-1,都有:如果 S[i] == "I",那么 A[i] < A[i+1]如果 S[i] == "D",那么 A[i] > A[i+1]实例输出:"IDID"

2018-11-24 22:04:37 298

原创 LeetCode0260.只出现一次的数字

0260.只出现一次的数字III描述给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。实例输入: [1,2,1,3,2,5]输出: [3,5]注意结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?题解用hashset判断是否已...

2018-11-24 21:00:05 254

原创 LeetCode0944.删除列以使之有序

0944.删除列以使之有序描述给出由 N 个小写字母串组成的数组 A,所有小写字母串的长度都相同。现在,我们可以选择任何一组删除索引,对于每个字符串,我们将删除这些索引中的所有字符。举个例子,如果字符串为 "``abcdef``",且删除索引是 {0, 2, 3},那么删除之后的最终字符串为 "``bef``"。假设我们选择了一组删除索引 D,在执行删除操作之后,A 中剩余的每一列都是有...

2018-11-24 20:45:38 204

原创 LeetCode.0557反转字符串中的单词III

0557.反转字符串中的单词III描述给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。实例输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 注意在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。题解由于最后一个字符有可能不是' ',会使最...

2018-11-24 16:08:54 351

原创 LeetCode0171.excel表列序号

171.excel表列序号描述给定一个Excel表格中的列名称,返回其相应的列序号。例如 A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...实例输入: "A"输出: 1输入: "AB"输出: 28输入: "ZY"输..

2018-11-24 15:47:08 112

原创 LeetCode0763.划分字母区间

0763.划分字母区间描述字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。实例输入: S = "ababcbacadefegdehijhklij"输出: [9,7,8]解释:划分结果为 "ababcbaca", "defegde", "hijhklij"。每个字母最多出现在一个片段中。...

2018-11-24 14:58:44 471

原创 LeetCode0216.组合总和

0216.组合总和III描述找出所有相加之和为 *n *的 **k 个数的组合。**组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明所有数字都是正整数。解集不能包含重复的组合。实例输入: k = 3, n = 7输出: [[1,2,4]]输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]题解...

2018-11-23 22:20:47 91

原创 LeetCode0258.各位相加

0258各位相加描述给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。实例输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。进阶你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?题解暴力解法,每次读取当前的最后一位加到临时变量直到num1等于0如果num...

2018-11-23 21:34:39 133

原创 LeetCode0241.为运算表达式设计优先级

0241.为运算表达式设计优先级描述给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。实例输入: "2-1-1"输出: [0, 2]解释: ((2-1)-1) = 0 (2-(1-1)) = 2输入: "2*3-4*5"...

2018-11-19 21:36:35 214

原创 LeetCode0137.只出现一次的数字

0137.只出现一次的数字II描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?实例输入: [2,2,3,2]输出: 3输入: [0,1,0,1,0,1,99]输出: 99题解除了目标数字以外,每个数字都出现了三遍,那么可以将所有数字都用二级制表...

2018-11-19 13:49:36 146

原创 LeetCode0077.组合

0077.组合描述给定两个整数 n 和 k,返回 1 … *n *中所有可能的 k 个数的组合。实例输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]题解广度遍历nowIndex记录当前已经确定的数量nowNum记录已经确定的最大数字k-nowIndex-1 > n...

2018-11-19 12:22:22 196 2

原创 LeetCode.0590.叉树的后序遍历

0590.N叉树的后序遍历描述给定一个 N 叉树,返回其节点值的后序遍历。实例例如,给定一个 3叉树 :返回其后序遍历: [5,6,3,2,4,1].说明递归法很简单,你可以使用迭代法完成此题吗?题解后序遍历N叉树和二叉树的方法可以相互参考虽然是迭代难写…但是时间复杂度小的都是递归写法…root为叶子结点➡️直接访问root为非叶子节点pre!=null且pre =...

2018-11-19 00:34:08 119

原创 LeetCode0145.二叉树的后序遍历

0145.二叉树的后序遍历描述给定一个二叉树,返回它的 后序 遍历。实例输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]进阶递归算法很简单,你可以通过迭代算法完成吗?题解后序遍历时,有如下几种情况root为叶子结点 ➡️直接访问root为非叶子节点,但子节点未被访问 ➡️将root的右左孩子依次进栈...

2018-11-18 23:48:54 82

原创 LeetCode0589.N叉树的前序遍历

0589.N叉树的前序遍历描述给定一个 N 叉树,返回其节点值的前序遍历。实例例如,给定一个 3叉树 :返回其前序遍历: [1,3,5,6,2,4]。说明递归法很简单,你可以使用迭代法完成此题吗?题解public List<Integer> preorder(Node root) { Stack<Node> allNodesStack =...

2018-11-18 22:25:18 146

原创 LeetCode0529.扫雷游戏

0529.扫雷游戏描述让我们一起来玩扫雷游戏!给定一个代表游戏板的二维字符矩阵。 ‘M’ 代表一个未挖出的地雷,‘E’ 代表一个未挖出的空方块,‘B’ 代表没有相邻(上,下,左,右,和所有4个对角线)地雷的已挖出的空白方块,数字(‘1’ 到 ‘8’)表示有多少地雷与这块已挖出的方块相邻,‘X’ 则表示一个已挖出的地雷。现在给出在所有未挖出的方块中(‘M’或者’E’)的下一个点击位置(行和列...

2018-11-16 22:18:30 262

原创 LeetCode0102.二叉树的层次遍历

0102.二叉树的层次遍历描述给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。实例给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]题解二叉树的层次遍历 public List...

2018-11-15 20:50:10 174

原创 LeetCode.0199二叉树的右视图

0199.二叉树的右视图描述给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。实例输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---题...

2018-11-15 20:39:19 117

原创 LeetCode0515.在每个树行中找最大值

0515.在每个树行中找最大值描述您需要在二叉树的每一行中找到最大的值。实例输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9]题解逐层遍历,对每一层找到最大值 public ArrayList<TreeNode> getNextLayN...

2018-11-15 20:34:59 142

原创 LeetCode0429.N叉树的层序遍历

429 N叉树的层序遍历描述给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如,给定一个 3叉树 :返回其层序遍历[ [1], [3,2,4], [5,6]]题解和107,513类似 public List<List<Integer>> levelOrder(Node root) { ...

2018-11-14 23:09:54 122

原创 LeetCode0107.二叉树的层次遍历

0107.二叉树的层次遍历II描述给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)实例给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]题解每...

2018-11-14 22:10:58 93

原创 LeetCode0513.找树左下角的值

0513.找树左下角的值描述给定一个二叉树,在树的最后一行找到最左边的值。实例输入: 2 / \ 1 3输出:1输入: 1 / \ 2 3 / / \ 4 5 6 / 7输出:7注意您可以假设树(即给定的根节点)不为 NULL。题...

2018-11-14 21:34:29 208

原创 LeetCode0773.滑动谜题

0773.滑动谜题描述在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示.一次移动定义为选择 0 与一个相邻的数字(上下左右)进行交换.最终当板 board 的结果是 [[1,2,3],[4,5,0]] 谜板被解开。给出一个谜板的初始状态,返回最少可以通过多少次移动解开谜板,如果不能解开谜板,则返回 -1 。实例输入:boar...

2018-11-14 18:09:49 526

原创 LeetCode0938.二叉搜索树的范围和

0938.二叉搜索树的范围和描述给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。实例输入:root = [10,5,15,3,7,null,18], L = 7, R = 15输出:32输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10输出:23提示树中的结...

2018-11-12 22:27:24 385

原创 LeetCode0237.删除链表中的节点

0237.删除链表中的节点描述请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9实例输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调...

2018-11-11 21:12:35 76

原创 LeetCode0905.按奇偶校验排序数组

905.按奇偶校验排序数组描述给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。你可以返回满足此条件的任何数组作为答案。实例输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示1 <= A.length <= 50000 <= A...

2018-11-11 21:12:02 107

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除