每天一道LeetCode
文章平均质量分 59
Leatcode受到各种招聘网站的青睐,每天一道LeatCode刷着玩。
码蹄疾
小米广告平台服务端开发。曾求学于哈尔滨工业大学,小米广告平台第3代引擎开发者,擅长java、计算广告、分布式、并发等多个领域。
展开
-
【Leetcode】103. 二叉树的锯齿形层次遍历
题目给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]题解这道题要求用z字型,就是要...原创 2019-02-27 08:29:13 · 285 阅读 · 0 评论 -
【Leetcode】102. 二叉树的层次遍历
题目给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]题解我们数据结构的书上教的层序遍历,就是利用一个队列,不断的把左子树和右...原创 2019-02-26 08:11:34 · 418 阅读 · 0 评论 -
【Leetcode】101. 对称二叉树
题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3题解还记得我们上几次说过,二叉树的题目,大多数可以用...原创 2019-02-25 08:36:46 · 188 阅读 · 0 评论 -
【Leetcode】75.颜色分类
作者: 码蹄疾毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者;负责小米应用商店、日历、开屏广告业务线研发;主导小米广告引擎多个模块重构;关注推荐、搜索、广告领域相关知识;题目给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝...原创 2019-02-21 09:09:30 · 284 阅读 · 0 评论 -
【Leetcode】100. 相同的树
题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 ...原创 2019-02-20 09:28:50 · 253 阅读 · 0 评论 -
【Leetcode】95~96 不同的二叉搜索树
Leetcode 95不同的二叉搜索树 II输入: 3输出:[ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ /...原创 2019-02-19 09:40:53 · 286 阅读 · 0 评论 -
【Leetcode】98. 验证二叉搜索树
题目给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输...原创 2019-02-19 09:40:10 · 253 阅读 · 0 评论 -
【Leetcode】176. 第二高的薪水
题目编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果...原创 2018-10-28 10:01:54 · 295 阅读 · 0 评论 -
【Leetcode】175. 组合两个表
题目表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+Perso...原创 2018-10-26 08:40:08 · 361 阅读 · 1 评论 -
【Leetcode】70. 爬楼梯
题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 ...原创 2018-09-16 22:15:53 · 267 阅读 · 0 评论 -
【Leetcode】61.旋转链表
作者: 码蹄疾 毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->...原创 2018-09-06 23:41:46 · 257 阅读 · 0 评论 -
【Leetcode】59. 螺旋矩阵 II
题目给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]题解这个题目也比较简单, 和第54题类似: 这个题目很简单,上下左右分别用四个变量去标志:上:top 下:bottom 左:left 右: right...原创 2018-09-03 20:38:59 · 329 阅读 · 0 评论 -
【Leetcode】58. 最后一个单词的长度
题目给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5题解这个题比较水,主要是注意一下前后有空格这种情况。 如下代码用preLong记录截止到当前字符最后一个单词的长度.class ...原创 2018-09-02 09:26:05 · 246 阅读 · 0 评论 -
【Leetcode】57. 插入区间
作者: 码蹄疾 毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间...原创 2018-08-31 09:40:28 · 493 阅读 · 0 评论 -
【Leetcode】56. 合并区间
题目给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为...原创 2018-08-30 09:23:24 · 312 阅读 · 0 评论 -
【Leetcode】55. 跳跃游戏
题目给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引...原创 2018-08-28 08:58:59 · 509 阅读 · 0 评论 -
【Leetcode】54. 螺旋矩阵
题目给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,1...原创 2018-08-25 23:48:22 · 786 阅读 · 0 评论 -
【Leetcode】42. 接雨水
题目给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 示例: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6题解这种存水得题目都是在考察双指针。 ...原创 2018-08-06 23:31:44 · 626 阅读 · 0 评论 -
24. 两两交换链表中的节点
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回...原创 2018-07-14 07:57:43 · 636 阅读 · 0 评论 -
23. 合并K个排序链表
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5...原创 2018-07-12 22:26:31 · 589 阅读 · 0 评论 -
21. 合并两个有序链表
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2-&...原创 2018-07-09 07:23:53 · 266 阅读 · 0 评论 -
20. 有效的括号
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用...原创 2018-07-08 10:06:46 · 320 阅读 · 0 评论 -
18. 四数之和
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得...原创 2018-07-05 23:23:19 · 5661 阅读 · 1 评论 -
17. 电话号码的字母组合
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任...原创 2018-07-03 08:15:33 · 1307 阅读 · 1 评论 -
16. 最接近的三数之和
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target ...原创 2018-07-01 22:22:49 · 311 阅读 · 0 评论 -
15. 三数之和
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出...原创 2018-07-01 21:46:36 · 459 阅读 · 0 评论 -
14. 最长公共前缀
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1:输入: ["flow...原创 2018-07-01 17:35:04 · 285 阅读 · 0 评论 -
13. 罗马数字转整数
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。字符 数值I 1...原创 2018-06-30 12:51:52 · 951 阅读 · 0 评论 -
12. 整数转罗马数字
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店广告平台后端研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V ...原创 2018-06-25 22:25:44 · 1301 阅读 · 0 评论 -
11. 盛最多水的容器
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个...原创 2018-06-24 15:29:44 · 621 阅读 · 0 评论 -
10. 正则表达式匹配
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店广告平台后端研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符。 ‘*’...原创 2018-06-24 15:13:10 · 1160 阅读 · 1 评论 -
8. 字符串转整数 (atoi)
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店广告平台后端研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目实现 atoi,将字符串转为整数。 在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与...原创 2018-06-16 16:45:44 · 411 阅读 · 0 评论 -
7. 反转整数
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店广告平台后端研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、计算广告领域相关知识;题目给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1:输入: 123输出: 321示例 2:输入: -123...原创 2018-06-16 16:47:52 · 603 阅读 · 0 评论 -
4. 两个排序数组的中位数
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(...原创 2018-06-30 12:07:33 · 3017 阅读 · 2 评论 -
3. Longest Substring Without Repeating Characters
英文题目Given a string, find the length of the longest substring without repeating characters. Examples:Given “abcabcbb”, the answer is “abc”, which the length is 3.Given “bbbbb”, the answer is “b”...原创 2018-05-27 10:51:06 · 391 阅读 · 0 评论 -
2018.4.5——771. Jewels and Stones
每天一道LeatCode,提高review别人代码的速度。解析题目地址 题目描述:给两个字符串,求第一个字符串在第二个字符串中出现的字符个数,大小写敏感。Input: J = "aA", S = "aAAbbbb"Output: 3Input: J = "z", S = &原创 2018-04-05 17:17:35 · 234 阅读 · 0 评论 -
2. Add Two Numbers
英文题目You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and re...原创 2018-05-27 10:44:14 · 316 阅读 · 0 评论 -
1. Two Sum
英文题目Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the...原创 2018-05-27 10:46:43 · 252 阅读 · 0 评论