标签: 数据结构与算法

15 篇文章

数据结构与算法打卡-Day15
两个数组的交集 原题链接:349. 两个数组的交集 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1:  输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: &…
数据结构与算法打卡-Day14
找到字符串中所有字母异位词 原题链接:LeetCode 438. 找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1:  输入: s = "cbaebabacd", p = …
数据结构与算法打卡-Day13
字母异位词分组 原题链接: 49. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1:  输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出:…
thumbnail
数据结构与算法打卡-Day12
一、哈希表理论基础 1.1. 哈希表的定义 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数(Hash Function),存放记录的数组叫做哈希表(或散列表)。 其实直白来说,哈希表就是一个数…
thumbnail
数据结构与算法打卡-Day11
环形链表 Ⅱ 原题链接:142. 环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos…
thumbnail
数据结构与算法打卡-Day10
链表相交 原题链接: 160.链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 注意,函数返回结果后,链表必须 保持其原始结构 。 自定义评测: 评测系统 的输入如下(你设计的程序 不适用 此输入): inte…
thumbnail
数据结构与算法打卡-Day09
删除链表的倒数第N个节点 原题链接:19.删除链表的倒数第N个节点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1:  输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2:  输入:head = [1], n = 1&nbs…
thumbnail
数据结构与算法打卡-Day08
两两交换链表中的节点 原题链接:24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1:  输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2:  输入:head…
thumbnail
数据结构与算法打卡-Day07
反转链表 原题链接: 206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1:  输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2:  输入:head = [1,2] 输出:[2,1] 示例 3: &n…
数据结构与算法打卡-Day06
设计链表 原题链接: 707. 设计链表 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点。假设链表中的所有节点下标从 0 开始。 实现 MyLinkedL…