链表类依赖于cmath头文件,使用ListNode,List四个文件实现: ListNode.h: 1 /********************************************* 2 ListNode.h 3 链表节点(模板)类 ListNode 4 T 节点数据 5 pred 前 ...
分类:
其他好文 时间:
2020-11-12 14:13:56
阅读次数:
5
引言 上文笔者描述了单链表的基本操作,但尾插法在单链表中效率太低,我们可以对单链表进行简单的变形,提高尾端插入元素等操作的效率。 单向循环链表 单向循环链表只需要将普通的单链表首尾相连即可实现。 Python实现: class ListNode(): def __init__(self, val, ...
分类:
其他好文 时间:
2020-11-12 13:33:29
阅读次数:
6
1. 题目描述 2. 代码 1 # Definition for singly-linked list. 2 # class ListNode: 3 # def __init__(self, val=0, next=None): 4 # self.val = val 5 # self.next = ...
分类:
其他好文 时间:
2020-11-11 16:47:05
阅读次数:
24
题目描述:在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 O(nlogn)的时间复杂度第一时间就是归并排序了,然后要常数级空间,那就不能用递归。 原地归并 public ListNode sortList(ListNode head) { //如果只有一个节点直接返回 i ...
分类:
编程语言 时间:
2020-11-11 15:53:14
阅读次数:
6
class Solution { public ListNode swapPairs(ListNode head) { ListNode dummy = new ListNode(-1); ListNode p = dummy; dummy.next = head; while(p != null ...
分类:
其他好文 时间:
2020-11-10 11:12:58
阅读次数:
4
Leetcode easy ListNode Leetcode 简单链表题目 21 合并两个有序链表 题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 /** * Definition for singly-linked list. * publ ...
分类:
其他好文 时间:
2020-11-06 02:28:36
阅读次数:
19
链表和链表节点的实现 Redis 每个链表节点使用一个 adlist.h/listNode 结构来表示: typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 v ...
分类:
其他好文 时间:
2020-11-04 17:37:06
阅读次数:
16
class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { auto dummy = new ListNode(-1), cur = dummy; int t = 0; while(l1 || l2 | ...
分类:
其他好文 时间:
2020-11-01 20:59:38
阅读次数:
11
题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *nex ...
分类:
其他好文 时间:
2020-10-07 20:36:35
阅读次数:
21
class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1==null){ return l2; } if(l2==null){ return l1; } int t=0; ListNode res ...
分类:
其他好文 时间:
2020-10-06 20:10:27
阅读次数:
24