02 add two numbers 1. 题目讲解 给定两个链表,每个链表表示一个整数,求这两个整数之和。结果也还是用链表表示。 2. 题解 思路: ? 本质上这道题是两个数带进位的加法。两个对应位置上的和是和对10取余。进位则是和整除10. class Solution { public: Li ...
分类:
其他好文 时间:
2021-04-06 14:12:17
阅读次数:
0
相关描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 方式一:简单方法 -- 通过不断拿到最后一个节点 和 删除最后节点的 链表头结点 进行头插入; static class ListNode { public int val; public ListNode ...
分类:
其他好文 时间:
2021-03-29 12:22:10
阅读次数:
0
Leetcode206 翻转链表 1、需求 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 2、解题思路 使用三个指针,pre指向翻转以后的头结点, curr指向为反转列表的头结点, next指向curr的下一个节点 三个节点 ...
分类:
其他好文 时间:
2021-03-16 13:47:10
阅读次数:
0
快慢指针技巧汇总 双指针技巧可以分为两类:一类是【快慢指针】、一类是【左右指针】 一、快慢指针 快慢指针一般初始化指向链表头结点head,前进时快指针fast在前,慢指针slow在后,巧妙解决链表中的一些问题。 1、判断链表中是否有环 经典解法就是用两个指针,一个每次前进两步,一个每次前进一步。如果 ...
分类:
其他好文 时间:
2021-02-26 13:25:46
阅读次数:
0
搞清楚AQS独占锁的实现原理之后,再看共享锁的实现原理就会轻松很多。两种锁模式之间很多通用的地方本文只会简单说明一下,就不在赘述了 一、执行过程概述 获取锁的过程: 当线程调用acquireShared()申请获取锁资源时,如果成功,则进入临界区。 当获取锁失败时,则创建一个共享类型的节点并进入一个 ...
分类:
其他好文 时间:
2021-01-15 11:59:19
阅读次数:
0
题目: 思路: 首先画个图出来,假设有两个指针指向头结点 p1与p2,那么当p1走一步,而p2走两步,如果存在圆,那么必然会出现,p1与p2同时落在C处(即重合点)。故此时链表有环。 其次,题目要求我们取出入口节点,由上可知, 假设 链表头到环入口AB长度为——a, 环入口到相遇点BC长度为——b, ...
分类:
其他好文 时间:
2021-01-14 11:16:29
阅读次数:
0
1609. 链表的中间结点 中文English 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 样例 样例 1: 输入:1->2->3->4->5->null 输出:3->4->5->null 样例 2: 输入:1->2->3->4->5 ...
分类:
其他好文 时间:
2021-01-13 10:37:47
阅读次数:
0
C++实现单链表 __阅读先知__ 链表是一种动态数据结构,他的特点是用一组任意的存储单元(可以是连续的,也可以是不连续的)存放数据元素。 链表中每一个元素成为“结点”,每一个结点都是由数据域和指针域组成的,每个结点中的指针域指向下一个结点。Head是“头指针”,表示链表的开始,用来指向第一个结点, ...
分类:
其他好文 时间:
2021-01-06 12:37:18
阅读次数:
0
题目 删除链表中等于给定值 val 的所有节点。 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5 分析与题解 区分头结点 直接使用给定的头结点进行节点的删除。此时需要对头结点跟其他节点的删除进行分类讨论。 对于首节点的情况,我们先保存首节 ...
分类:
编程语言 时间:
2021-01-05 11:11:35
阅读次数:
0
给「代码随想录」一个星标吧!?之前链表篇没有做总结,所以补一波总结?链表的理论基础在这篇文章关于链表,你该了解这些!中,介绍了如下几点:链表的种类主要为:单链表,双链表,循环链表链表的存储方式:链表的节点在内存中是分散存储的,通过指针连在一起。链表是如何进行增删改查的。数组和链表在不同场景下的性能分析。「可以说把链表基础的知识都概括了,但又不像教科书那样的繁琐」。链表经典题目虚拟头结点在链表:听说
分类:
其他好文 时间:
2021-01-02 11:00:59
阅读次数:
0