
leetcode
Hello World......
!
展开
-
2021-08-09 设计哈希集合
leetcode每日一题之设计哈希集合题目链接:https://leetcode-cn.com/problems/design-hashset/题目描述:不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现 MyHashSet 类:void add(key) 向哈希集合中插入值 key 。bool contains(key) 返回哈希集合中是否存在这个值 key 。void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。分析:为原创 2021-08-09 10:47:40 · 177 阅读 · 0 评论 -
2021-08-04 leetcode每日一题之找不同
leetcode每日一题之找不同题目链接:https://leetcode-cn.com/problems/find-the-difference/题目描述:给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例 2:输入:s = "", t = "y"输出:"y"示例 3:输原创 2021-08-04 15:04:07 · 261 阅读 · 0 评论 -
2021-07-09 下一个更大的元素
leetode每日一题之下一个更大的元素题目链接:https://leetcode-cn.com/problems/next-greater-element-i/题目描述:给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。示例 1:输原创 2021-07-09 15:48:47 · 164 阅读 · 0 评论 -
2021-07-08 有效的括号
leetcode每日一题之有效的括号**题目链接:**https://leetcode-cn.com/problems/valid-parentheses/题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()" 输出:true 示例 2: 输入:s = "()[]{}"原创 2021-07-08 14:24:57 · 135 阅读 · 0 评论 -
2021-07-07循环队列以及双端循环队列
leetcode每日一题之设计循环队列以及双端循环队列1.设计循环队列**题目链接:**https://leetcode-cn.com/problems/design-circular-queue/题目描述:设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有原创 2021-07-07 20:49:37 · 136 阅读 · 0 评论 -
2021-07-06用队列实现栈
leetcode每日一题之用队列实现栈题目链接:https://leetcode-cn.com/problems/implement-stack-using-queues/题目描述:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如原创 2021-07-06 20:04:13 · 83 阅读 · 0 评论 -
2021-07-06最近的请求次数
leetcode每日一题之最近请求次数题目链接:https://leetcode-cn.com/problems/number-of-recent-calls/题目描述:写一个 RecentCounter 类来计算特定时间范围内最近的请求。请你实现 RecentCounter 类:RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)原创 2021-07-06 11:34:04 · 198 阅读 · 0 评论 -
2021-07-01复制带随即指针的链表
leetcode每日一题之复制带随机之指针的链表题目链接:https://leetcode-cn.com/problems/copy-list-with-random-pointer/题目描述:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 深拷贝。我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index]表示:val:一个表示 Node.val 的整数。random_inde原创 2021-07-01 15:35:39 · 71 阅读 · 0 评论 -
2021-06-28旋转链表
leetcode每日一题之旋转链表题目链接:https://leetcode-cn.com/problems/rotate-list/题目描述:给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。例子:输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]输入:head = [0,1,2], k = 4输出:[2,0,1]解法:以示例1为例 1->2->3->4->5,k=2,那么移动完就是:4-&g原创 2021-06-28 22:09:02 · 102 阅读 · 0 评论 -
2021-06-26 合并k个有序链表
leetcode每日一题之合并k个有序链表题目链接:https://leetcode-cn.com/problems/merge-k-sorted-lists/题目描述:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6原创 2021-06-26 14:30:23 · 207 阅读 · 1 评论 -
2021-06-25两两交换链表中得节点
leetcode每日一题之两两交换链表中得节点题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。例子:输入:head = [1,2,3,4]输出:[2,1,4,3]输入:head = []输出:[]输入:head = [1]输出:[1]**解法1:**这个题和昨天做得k个一组反转链表是原创 2021-06-25 20:40:10 · 94 阅读 · 0 评论 -
2021-06-24 k个一组反转链表
leetcode每日一题指k个一组反转链表题目链接:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/submissions/题目描述:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。例子:输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5]题解:今天的这道题本原创 2021-06-24 21:06:11 · 109 阅读 · 0 评论 -
2021-06-22删除链表的倒数第n个节点
leetcode每日一题今天的题目都比较简单,因此多刷几个1:删除链表中的节点题目链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/题目描述:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。例子:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -原创 2021-06-22 14:47:00 · 133 阅读 · 0 评论 -
2021-06-21 有序链表中的重复元素2
leetcode每日一题之删除排序链表中的重复元素题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/submissions/题目描述:存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。返回同样按升序排列的结果链表。例子1:输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]例子2:原创 2021-06-21 20:49:16 · 284 阅读 · 0 评论 -
2021-06-20 删除链表中重复元素!
leetcode每日一题之删除有序链表中的重复元素题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/题目描述:存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次返回同样按升序排列的结果链表。例子:输入:head = [1,1,2,3,3]输出:[1,2,3]解法1自己想到的利用Set集合,因为Set集合是无序的,也就是它并不保证添加的原创 2021-06-20 16:53:36 · 117 阅读 · 0 评论 -
2021-06-19 回文链表
leetcode每日一题之回文链表题目链接:https://leetcode-cn.com/problems/palindrome-linked-list-lcci/submissions/题目描述:编写一个函数,检查输入的链表是否是回文的。示例 1:输入: 1->2输出: false 示例 2:输入: 1->2->2->1输出: true 解法1:自己的解法首先声明,本人的解法是通过了的。思想:首先遍历链表记录链表中的元素个数然后开辟一个数组,空间原创 2021-06-19 14:42:00 · 136 阅读 · 0 评论 -
2021-06-18 两数相加
leetcode每日一题之两数相加题目链接:https://leetcode-cn.com/problems/add-two-numbers/题目描述:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。例1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465原创 2021-06-18 20:03:26 · 106 阅读 · 0 评论 -
2021-06-17环形链表!!
leetcode每日一题之环形链表!!题目链接:https://leetcode-cn.com/problems/linked-list-cycle-ii/submissions/题目描述:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。例:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环,其尾部连接到第二个节点。解法1:利用Set存储节点,遍历,当出现重复说明有环代码:比较简单,因此无注释原创 2021-06-17 14:55:52 · 136 阅读 · 0 评论 -
2021-06-16 相交链表
leetcode每日一题之相交链表题目描述:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。例子:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at '8'解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为原创 2021-06-16 22:08:40 · 104 阅读 · 0 评论 -
2021-06-11合并有序链表
leetcode每日一题之合并两个有序链表题目描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/由于今天的题目比较简单,直接上代码:public static ListNode mergeTwoLists(ListNode l1,原创 2021-06-11 14:45:13 · 108 阅读 · 1 评论 -
2021-06-10环形链表
leetcode每日一题之环形链表题目描述:给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。题目链接:https://leetcode-cn.com/prob原创 2021-06-10 11:37:37 · 83 阅读 · 0 评论 -
2021-06-09反转链表
leetcode每日一题之反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL题目链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/解法1:迭代法思路:首先定义两个指针prev和curr分别指向null和head,然后将curr.next原创 2021-06-09 16:12:26 · 105 阅读 · 2 评论 -
2021-06-08链表中倒数第k个节点
leetcode每日一题剑指offer22:链表中倒数第k个节点题目链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/题目描述:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一翻译 2021-06-08 21:20:50 · 89 阅读 · 0 评论