
链表
风灵无畏YY
本蒟蒻为在校大学生,不定期更新一些有关计算机相关知识的学习记录,有不恰当的地方还请指出。
展开
-
LeetCode 14. 最长公共前缀
题目链接 14. 最长公共前缀 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 解题思路 一道经典的...原创 2020-03-14 10:42:19 · 143 阅读 · 0 评论 -
LeetCode 23. 合并K个排序链表
题目链接 23. 合并K个排序链表 题目描述 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 解题思路 第一种方法 把所有的数值都丢入一个链表中,排序后返回值。复杂度O(nklo...原创 2020-03-12 20:20:56 · 117 阅读 · 0 评论 -
删除链表的倒数第N个节点
题目链接 删除链表的倒数第N个节点 题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 解题思路 第一种就是我下面给出的这种,先过一遍确定有多少个元素,然后再循环一遍,到倒数第n+1的时候把倒数第n...原创 2020-03-11 16:21:41 · 127 阅读 · 0 评论 -
LeetCode 两数相加
题目链接 两数相加 题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 ...原创 2020-03-09 21:29:18 · 171 阅读 · 0 评论 -
LeetCode 环形链表
题目链接 141. 环形链表 题目描述 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例1 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例2 输入:head = [1,2], po...原创 2020-03-08 19:21:34 · 136 阅读 · 0 评论 -
LeetCode 删除排序链表中的重复元素
题目链接 删除排序链表中的重复元素 题目描述 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 解题思路 就是一个链表的基本操作,目前还不太会,等学习完了再来一个链表基本操作的总结。(还有一个问题就是,不动为什么要再弄一个ptr来执行删除操作,最后在返回head,直接用head的话好像不行) 程序代码 c++ /** * Definition for singly-linked l...原创 2020-03-07 22:08:09 · 128 阅读 · 0 评论 -
LeetCode 合并两个有序链表
题目链接 合并两个有序链表 题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 解题思路 这题用链表做即可,思路不难,用指针去比较l1链表和l2链表。小的放前面,大的放后面。 程序代码 c++ 此篇代码是参考...原创 2020-03-07 15:32:28 · 122 阅读 · 0 评论