redis链表的实现是双向链表. 每个链表节点的结构如下: typedef struct listNode { //前置节点 struct listNode *prev; //后置节点 struct listNode *next; void *value; } listNode; 表头结构 type ...
分类:
其他好文 时间:
2020-06-14 22:07:53
阅读次数:
68
链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ 代码 /** * Definition for singly-linked list. * public class ListNode { * int val; ...
分类:
其他好文 时间:
2020-06-13 21:11:17
阅读次数:
66
目录 redis源码分析系列文章 前言 API使用 lpush左侧插入数据 rpush右侧插入数据 删除某个数据 修改某个数据 具体逻辑图 双向链表的定义 节点ListNode 整体架构 双向链表的实现 创建表头 清空表 添加元素到表头 添加元素到表尾 插入 删除 总结 redis源码分析系列文章 ...
分类:
其他好文 时间:
2020-06-08 19:29:45
阅读次数:
72
人物: 两个人,我,小铮. 我 : 今天,我来讲解如何反转链表. > class Solution { > public ListNode reverseList(ListNode head) { > //申请节点,pre和 cur,pre指向null > ListNode pre = null; ...
分类:
编程语言 时间:
2020-06-07 14:42:15
阅读次数:
62
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } * ...
分类:
其他好文 时间:
2020-06-07 12:54:05
阅读次数:
68
题解 不用修改原始链表(做题不要太死板,不一定非要在原始链表上进行修改) 新建两个链表before和after 在遍历原始链表的过程中,小于x的插入到before中,大于x的插入到after中 public ListNode partition(ListNode head, int x) { Lis ...
分类:
其他好文 时间:
2020-06-04 19:40:42
阅读次数:
51
输入一个链表,反转链表后,输出新链表的表头。 法1:递归 public class Solution { public ListNode ReverseList(ListNode head) { if(head == null||head.next == null) return head; Lis ...
分类:
其他好文 时间:
2020-06-02 00:02:35
阅读次数:
74
需求理解 a->b->c->d->null 链表节点数据结构 ListNode{ String a ; ListNode next; } 反转链表就是改变每个节点的next指向的引用 思路 遍历链表节点,每个节点指针指向前一个节点:需要一个临时变量存储上一个节点的引用 code package cl ...
分类:
其他好文 时间:
2020-06-01 20:28:46
阅读次数:
64
迭代方法 注意哑结点的使用,这会省去很多判断 public ListNode mergeTwoLists(ListNode l1, ListNode l2){ ListNode result = new ListNode(-1); ListNode tempResult = result; whil ...
分类:
其他好文 时间:
2020-05-31 15:54:07
阅读次数:
52
问题描述 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2输出: 1->2示例 2: 输入: 1->1->2->3->3输出: 1->2->3 代码 1 class Solution { 2 public: 3 ListNode* deleteDup ...
分类:
编程语言 时间:
2020-05-29 19:22:51
阅读次数:
64