30.串联所有单词的子串串联所有单词的子串给定一个字符串 s 和一个字符串数组 words。words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 返回所有串联子串在 s 中的开始索引。你可以以 任意顺序 返回答案。 2023-08-26 困难 #困难难度 #哈希表 #滑动窗口
29.两数相除两数相除给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断为 8,-2.7335 将被截断为 -2。 返回被除数 dividend 除以除数 divisor 得到的 商。 注意:假设我们的环境只能存储 32 位 有符号整数,其数值范围是 $[−2 2023-08-23 中等 #中等难度 #位运算
28.找出字符串中第一个匹配项的下标找出字符串中第一个匹配项的下标给你两个字符串 haystack 和 needle,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1。 2023-08-21 简单 #简单难度 #字符串
27.移除元素移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用 2023-08-19 简单 #简单难度 #双指针
26.删除有序数组中的重复项删除有序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 2023-08-16 简单 #简单难度 #快慢指针
25.K个一组翻转链表K个一组翻转链表给你链表的头节点 head,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 2023-08-14 困难 #困难难度 #链表
24.两两交换链表中的节点两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 2023-08-11 中等 #中等难度