![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 68
超分辨菜鸟
这个作者很懒,什么都没留下…
展开
-
JAVA-LeetCode剑指offer24反转单链表
反转单链表1.题目2.分析3.代码示例1.题目定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL来源:力扣(LeetCode)链接:反转单链表2.分析此文题可以视为将已有链表的每一个逐个往前挪3.代码示例public static Node reverseList(Node head){原创 2021-01-02 11:12:10 · 86 阅读 · 1 评论 -
JAVA-剑指offer-二叉搜索树的后序遍历
二叉搜索树的后续遍历题目二叉搜索树的后续遍历输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树: 5/ \2 6/ 1 3示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,5]输出: true来源:力扣(LeetCode)分析二叉搜索树的定义是左子树所有节点小于根节点,右子树所有节点值大于根节点,且原创 2021-04-02 16:47:18 · 85 阅读 · 1 评论 -
JAVA-基础-Map和Set
1概念Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。以前常见的搜索方式有:直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢二分查找,时间复杂度为,但搜索前必须要求序列是有序的上述排序比较适合静态类型的查找,即一般不会对区间进行插入和删除操作了,而现实中的查找比如:根据姓名查询考试成绩通讯录,即根据姓名查询联系方式不重复集合,即需要先搜索关键字是否已经在集合中可能在查找时进行一些插入和删除的操作,即动态查找,那上述两种方式就不太适原创 2021-02-16 21:04:29 · 301 阅读 · 4 评论 -
JAVA-LeetCode-中等-无重复字符的最长子串
题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序原创 2021-02-15 22:40:20 · 121 阅读 · 0 评论 -
JAVA-LeetCode-简单题617-合并两个二叉树
1.题目给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入:Tree 1 Tree 21 2/ \ / \3 2原创 2021-01-26 21:10:40 · 167 阅读 · 0 评论 -
JAVA-LeetCode-简单154-最小栈
1.题目设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,null,nul原创 2021-01-25 23:22:55 · 85 阅读 · 0 评论 -
JAVA-LeetCode-简单844-比较含有退格的字符串
1.题目给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:S = “ab#c”, T = “ad#c”输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = “ab##”, T = “c#d#”输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S = “a##c”, T = “#a#c”输出:true解释:S 和 T原创 2021-01-24 15:49:07 · 117 阅读 · 0 评论 -
JAVA-LeetCode-简单682-棒球比赛
1.题目你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:整数 x - 表示本回合新获得分数 x“+” - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。“D” - 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的原创 2021-01-24 15:37:30 · 130 阅读 · 0 评论 -
JAVA-LeeCode简单21合并两个有序链表
合并两个有序链表1.题目2.分析3.代码示例1.题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:合并两个有序链表著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2.分析合并两个链表,关键在于同时遍历两个链表,因此需要3个指针节点1号,2号,3号1原创 2021-01-05 16:32:52 · 134 阅读 · 0 评论 -
JAVA-LeetCode-简单题-替换所有的问号
1.题目给你一个仅包含小写英文字母和 ‘?’ 字符的字符串 s,请你将所有的 ‘?’ 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你 不能 修改非 ‘?’ 字符。题目测试用例保证 除 ‘?’ 字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。示例 1:输入:s = “?zs”输出:“azs”解释:该示例共有 25 种解决方案,从 “azs” 到 “原创 2021-01-20 16:14:27 · 428 阅读 · 0 评论 -
JAVA-LeetCode-中等61-旋转链表
旋转链表1.题目2.分析3.代码示例1.题目给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5->1->2->3->NULL示例 2:原创 2021-01-15 11:37:25 · 107 阅读 · 0 评论 -
JAVA-LeetCode-环形链表2
判断环形链表环的入口1.题目2.分析1.题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1原创 2021-01-09 15:42:20 · 104 阅读 · 2 评论 -
JAVA-LeetCode-判断环形链表,
判断环形链表1.题目2.分析3.代码示例1.题目给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量)内存解决此问题吗?示例 1原创 2021-01-09 12:26:57 · 275 阅读 · 1 评论