随笔分类 -  力扣 top100

摘要:148. 排序链表 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 思路一:递归 + 归并 思路参考:https 阅读全文
posted @ 2020-10-07 20:56 Lucky小黄人^_^ 阅读(189) 评论(0) 推荐(0)
摘要:208. 实现 Trie (前缀树) 题目描述 实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple"); trie.search("apple"); 阅读全文
posted @ 2020-10-07 16:26 Lucky小黄人^_^ 阅读(194) 评论(0) 推荐(0)
摘要:96. 不同的二叉搜索树 题目描述 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例 思路一: 思路参考:https://leetcode-cn.com/problems/unique-binary-search-trees/solution/bu-tong-de-er 阅读全文
posted @ 2020-10-07 12:13 Lucky小黄人^_^ 阅读(244) 评论(0) 推荐(0)
摘要:剑指 Offer 68 - II. 二叉树的最近公共祖先 & 236. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可 阅读全文
posted @ 2020-09-29 11:42 Lucky小黄人^_^ 阅读(140) 评论(0) 推荐(0)
摘要:234. 回文链表 请判断一个链表是否为回文链表。示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 思路一: 借助一个列表,先遍历链表存下所有结点,然后第二次遍历链表比 阅读全文
posted @ 2020-06-21 19:47 Lucky小黄人^_^ 阅读(241) 评论(0) 推荐(0)
摘要:198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到 阅读全文
posted @ 2020-06-20 21:01 Lucky小黄人^_^ 阅读(177) 评论(0) 推荐(0)
摘要:543. 二叉树的直径 题目描述 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 思 阅读全文
posted @ 2020-06-19 11:44 Lucky小黄人^_^ 阅读(197) 评论(0) 推荐(0)
摘要:141. 环形链表 给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有 阅读全文
posted @ 2020-06-16 21:36 Lucky小黄人^_^ 阅读(271) 评论(0) 推荐(0)
摘要:70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出 阅读全文
posted @ 2020-06-15 21:15 Lucky小黄人^_^ 阅读(258) 评论(0) 推荐(0)
摘要: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 进阶:你可以 阅读全文
posted @ 2020-06-15 21:05 Lucky小黄人^_^ 阅读(198) 评论(0) 推荐(0)
摘要:437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 阅读全文
posted @ 2020-06-15 20:25 Lucky小黄人^_^ 阅读(229) 评论(0) 推荐(0)
摘要:448. 找到所有数组中消失的数字 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定 阅读全文
posted @ 2020-06-14 20:59 Lucky小黄人^_^ 阅读(252) 评论(0) 推荐(0)
摘要:这题和剑指offer的几乎一模一样剑指offer 28.数组中出现超过一半的数字 169. 多数元素 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1: 输入: [3,2,3] 阅读全文
posted @ 2020-06-14 20:20 Lucky小黄人^_^ 阅读(240) 评论(0) 推荐(0)
摘要:21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 非递归(迭代): 简单的归并 1 class Solution { 2 // 简单的归并 阅读全文
posted @ 2020-06-14 19:25 Lucky小黄人^_^ 阅读(394) 评论(0) 推荐(0)
摘要:538. 把二叉搜索树转换为累加树 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如: 输入: 原始二叉搜索树: 5 / \ 2 13 输出: 转换为累加树: 18 / \ 20 阅读全文
posted @ 2020-06-14 18:53 Lucky小黄人^_^ 阅读(282) 评论(0) 推荐(0)
摘要:160. 相交链表 编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表: 在节点 c1 开始相交。示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:R 阅读全文
posted @ 2020-06-13 21:31 Lucky小黄人^_^ 阅读(263) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2020-06-13 20:25 Lucky小黄人^_^ 阅读(1683) 评论(0) 推荐(0)
摘要:283. 移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 思路一: 快慢指针,慢指针指向下个非零元 阅读全文
posted @ 2020-06-12 21:44 Lucky小黄人^_^ 阅读(239) 评论(0) 推荐(0)
摘要:下面这题的解法不仅仅让我学会了解这道题,也让我见识到了二维数组竟然还能以一行元素作为单位进行排序和遍历操作,真是学到了,学到了~~~ 406. 根据身高重建队列 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数 阅读全文
posted @ 2020-06-12 21:10 Lucky小黄人^_^ 阅读(342) 评论(0) 推荐(0)
摘要:下面这题我刚开始一直以为是求图的连通分量的个数,弄了好久发现总是有问题,后来才发现不是连通分量的题型,连通分量求的是顶点的被分成多少块,下面这种题目是一个矩阵被分成多少块,两者不一样 200. 岛屿数量 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被 阅读全文
posted @ 2020-06-09 21:42 Lucky小黄人^_^ 阅读(434) 评论(0) 推荐(0)