随笔分类 - 链表
摘要:https://leetcode.cn/problems/reorder-list/solution/zhong-pai-lian-biao-by-leetcode-solution/ /** * Definition for singly-linked list. * type ListNode
阅读全文
摘要:https://leetcode.cn/problems/rotate-list/solution/xiang-zi-xing-che-lian-yi-yang-qu-xuan-z-di8y/ /** * Definition for singly-linked list. * type ListN
阅读全文
摘要:https://leetcode.cn/problems/intersection-of-two-linked-lists/solution/xiang-jiao-lian-biao-by-leetcode-solutio-a8jn/ /** * Definition for singly-link
阅读全文
摘要:https://leetcode.cn/problems/SLwz0R/ /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func removeNt
阅读全文
摘要:func deleteDuplicates( head *ListNode ) *ListNode { new := &ListNode{Next:head} pre,cur := new,head for cur != nil{ for cur.Next != nil && cur.Val ==
阅读全文
摘要:取地址运算符(&) 定义:(&p)则是这样一种运算,返回一个指针,该指针的值是当时声明p 时开辟的地址,指针的类型是p的类型对应的指针类型。(对,&得到的地址指针是有类型的) 例如: int a=1; double *p=&a; 编译时会报错:“ warning C4133: “初始化”: 从“in
阅读全文
摘要:题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 题解:链表是有序的,去除重复出现的元素,新建一个链表保存其它元素即可 /* struct ListNode { in
阅读全文
摘要:题目描述: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 解题思路: 具体思想就是新建一个链表,然后比较两个链表中的元素值,把较小的那个链到新链表中,由于两个输入链
阅读全文
摘要:一、非递归(从头开始反转) 1、保存头指针的下一个节点(第一个元素),同时将头指针指向NULL 2、从第一个元素节点开始while循环往后处理,将当前节点的下一个节点指向前一个节点 3、最后再将头指针指向反转后的第一个元素节点 举个例子,反转如下链表: 1、(NewH是反转后链表的头指针) 2、 3
阅读全文
摘要:一、链表的概念 链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 二、链表和数组的区别: 1、数组静态分配内存,链表动态分配内存。 2、数组在内存中是连续的,链表是不连续的。 3、数组利用下标定位,查找的时间复杂度是O(1),链表通过遍历定位元素
阅读全文