链表
小桥落花流水
这个作者很懒,什么都没留下…
展开
-
86. 分隔链表
86. 分隔链表 给你一个链表和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入:head = 1->4->3->2->5->2, x = 3 输出:1->2->2->4->3->5 基本思路:采用尾插法,凡是小于x的都尾插到xptr的后面,保证其相对顺序不变 使用哨兵标记头节点,遇到cur小于x时,插入xptr后.原创 2021-01-03 22:33:50 · 80 阅读 · 0 评论 -
146. LRU缓存机制
146. LRU缓存机制 运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果关键字 (key) 存在于缓存中,则获取关键字的值(总是正数),否则返回 -1。 写入数据 put(key, value) - 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字/值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。..原创 2020-10-24 15:55:32 · 91 阅读 · 0 评论 -
148. 排序链表
148. 排序链表 在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sort-list 著作权归领扣网络所有。商业转载请联系官...原创 2020-10-24 12:33:16 · 105 阅读 · 0 评论 -
143. 重排链表
143. 重排链表 给定一个单链表L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例1: 给定链表 1->2->3->4, 重新排列为 1->4->2->3. 示例 2: 给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3. 来源:力扣(LeetCode)..原创 2020-10-20 17:28:00 · 176 阅读 · 0 评论