leetcode算法
leetcode算法
u0uu
这个作者很懒,什么都没留下…
展开
-
3.无重复字符的最长子串
2、哈希表:只要需要判断数据是否重复出现,就用哈希表。注意哈希表里存的数只有一个,count返回值要么0,要么1。一个容易错误的点:不要访问到字符串size+1,这个地址也可以取到值的……1、滑动窗口:左窗口每个大循环+1,右窗口每次内循环拉满(直到触发条件)。一些细节:哈希表每次erase的时候,注意是erase前一次循环的左窗口。请注意,你的答案必须是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。,所以其长度为 3。,所以其长度为 1。,所以其长度为 3。原创 2024-08-05 16:34:42 · 109 阅读 · 0 评论 -
102.二叉树的层序遍历
例子中有三层,每层存储1 2 2个指针。那总体需要三层循环,每层循环内,分别pop1 2 2 次。(即逐层地,从左到右访问所有节点)。用queue来保存节点指针。原创 2024-08-05 11:57:48 · 263 阅读 · 0 评论 -
538.把二叉搜索树转化为累加树
(BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。2、二叉树的前、中、后序遍历。原创 2024-08-05 10:17:53 · 113 阅读 · 0 评论 -
206.反转链表
2、中间:指针head指向头,指针p指向中间节点,指针t指向p的next,让p的next指向head,然后head、p往后挪一位;直到p的next为空,这时候t和p都在节点最后一位;1、头:指针p指向头,next指向nullptr;解析:头尾节点需要单独处理;,请你反转链表,并返回反转后的链表。3、让p的next指向head。原创 2024-08-03 15:51:38 · 159 阅读 · 0 评论 -
141.环形链表
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。解析:哈希表保存指向链表节点的指针,如果在哈希表里查到了当前指针,则为环形链表。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。仅仅是为了标识链表的实际情况。用unordered_set。,判断链表中是否有环。给你一个链表的头节点。原创 2024-08-03 15:19:29 · 234 阅读 · 0 评论 -
23.合并K个升序链表【HARD】
请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。将它们合并到一个有序链表中得到。原创 2024-07-31 19:40:53 · 151 阅读 · 0 评论 -
19.删除链表的倒数第N个节点
给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。原创 2024-07-31 14:53:34 · 125 阅读 · 0 评论 -
2.两数相加
注意此题不能用链表转化数字,相加,转化链表做,链表很长,数字存不下。所以是用补齐链表、对应位置相加、记录进位,模拟加法计算去做。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。难点:最后的一位没有加上。原创 2024-07-31 14:19:47 · 321 阅读 · 0 评论 -
234.回文链表
解答:数组保存,判断头尾是否相等。给你一个单链表的头节点。,请你判断该链表是否为。原创 2024-07-31 10:11:34 · 181 阅读 · 0 评论 -
142.环形链表②
解答:用哈希表存指针,每次指向下一个节点时,查当前哈希表里是否存在此指针,存在则返回。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。,返回链表开始入环的第一个节点。来表示链表尾连接到链表中的位置(,仅仅是为了标识链表的实际情况。返回索引为 1 的链表节点。返回索引为 0 的链表节点。给定一个链表的头节点。如果链表无环,则返回。,则在该链表中没有环。原创 2024-07-30 20:43:38 · 138 阅读 · 0 评论 -
253.会议室②
每个会议时间都会包括开始和结束的时间。给你一个会议时间安排的数组。所需会议室的最小数量。原创 2024-07-30 13:19:18 · 111 阅读 · 0 评论 -
75.颜色分类
对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。必须在不使用库内置的 sort 函数的情况下解决这个问题。给定一个包含红色、白色和蓝色、共。分别表示红色、白色和蓝色。原创 2024-07-30 12:03:15 · 145 阅读 · 0 评论 -
56. 合并区间
解题思路:1、先排序,按数组[0]进行升序排列;2、检查前一个数组[1]和后一个数组[0]的大小,确定是合并两个数组,还是直接插入后一个数据。区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。熟悉了一下排序算法(冒泡)。原创 2024-07-29 12:03:12 · 307 阅读 · 0 评论 -
148. 排序链表
1、递归二分列表:用p->next->next做判断,p每次循环往后挪两位,q每次循环往后挪一位,这样循环到结尾时,q正好指向中位前一位。从此处截断队列,前后分别再次进入二分循环。冒泡排序:o(n^2),会超时。归并排序: o(nlogn)原创 2024-07-29 20:39:09 · 387 阅读 · 0 评论