cocobear9  
一枚普通的zisuer(lll¬ω¬),努力每天多学一点点

随笔分类 -  链表

C语言实现
  • 面试题 02.01. 移除重复节点
    摘要:编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2]提示: 链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。 链接:h 阅读全文
    posted @ 2020-06-26 13:56 cocobear9 阅读(160) 评论(0) 推荐(0)
  • 82. 删除排序链表中的重复元素 II
    摘要:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 示例 1: 输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2: 输入: 1->1->1->2->3输出: 2->3 链接:https://leetcode-cn.com/problem 阅读全文
    posted @ 2020-06-17 17:45 cocobear9 阅读(139) 评论(0) 推荐(0)
  • 2. 两数相加(链表)
    摘要:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 阅读全文
    posted @ 2020-06-13 15:08 cocobear9 阅读(350) 评论(0) 推荐(0)
  • JAVA相交链表
    摘要:160. 相交链表 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的 阅读全文
    posted @ 2020-05-31 10:55 cocobear9 阅读(495) 评论(0) 推荐(0)
  • 146. LRU缓存机制
    摘要:运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。写入数据 put(key, value) 阅读全文
    posted @ 2020-05-29 22:36 cocobear9 阅读(188) 评论(0) 推荐(0)
  • JAVA的单链表创建
    摘要:有一说一 ,C的单链表创建(头插,尾插)思路蛮简单的,现在用JAVA写感觉也还行?虽然没有指针,但是代码看起来更加简单了 package linklist; public class Node { Node next =null; int data; public Node(int data) { 阅读全文
    posted @ 2020-05-27 23:19 cocobear9 阅读(3554) 评论(0) 推荐(0)
  • C语言实现奇偶链表
    摘要:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2->3->4- 阅读全文
    posted @ 2020-03-14 10:55 cocobear9 阅读(558) 评论(0) 推荐(0)
  • C语言链表节点删除(使用哨兵节点加强版)
    摘要:题目描述 输入一批以负数为结束的正整数,建立一个顺向链表存放。然后再输入一个正数数,若该整数在链表中出现,则从链表中删除该数,并输出链表中的所有数据, 否则输出NO。 输入 第一行 一批以负数为结束的若干个正整数第二行 一个正整数 输出 若该整数在链表中出现,则从链表中删除该数,并输出链表中的所有数 阅读全文
    posted @ 2020-03-03 22:37 cocobear9 阅读(660) 评论(0) 推荐(0)
  • C语言判断是否是环形链表
    摘要:要求:给定一个链表,判断链表中是否有环。 方法:双指针. 又是双指针~~ 想象一下,两名运动员以不同的速度在环形赛道上跑步会发生什么? 算法 通过使用具有 不同速度 的快、慢两个指针遍历链表,空间复杂度可以被降低至 O(1)O(1)。慢指针每次移动一步,而快指针每次移动两步。 如果列表中不存在环,最 阅读全文
    posted @ 2020-03-02 23:27 cocobear9 阅读(471) 评论(0) 推荐(0)
  • C语言实现反转链表 II(指定2个节点反转)
    摘要:要求: 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL 方法迭代链接反转 算法 在看具体算法之前,有必要先弄清楚链接反 阅读全文
    posted @ 2020-02-27 00:21 cocobear9 阅读(723) 评论(0) 推荐(0)
  • C语言面试题 02.03. 删除中间节点
    摘要:实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点。 示例: 输入:单向链表a->b->c->d->e->f中的节点c 结果:不返回任何数据,但该链表变为a->b->d->e->f思路是:把给定节点的下一个节点的值和指针赋给该节点,然后删除下 阅读全文
    posted @ 2020-02-15 23:51 cocobear9 阅读(312) 评论(0) 推荐(0)