19 . 删除链表的倒数第N个结点 给你一个链表,删除链表的倒数第N个结点. class Solution: def removeNthFromEnd(self, head: ListNode, n: int): def getLength(head: ListNode) -> int: lengt ...
分类:
其他好文 时间:
2021-06-02 13:38:44
阅读次数:
0
一、什么是链表? 1.和数组一样,链表也是一种线性表。 2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。 3.链表中的每一个内存块被称为节点Node。结点除了存储数据外,还需记录链上下一个结点的地址,即后继指针next。 二、为什么使用 ...
分类:
编程语言 时间:
2021-05-25 17:39:06
阅读次数:
0
题目: 思路:一道经典的快慢指针问题,快指针先走n步,然后一起走,快指针走到最后一个节点,慢指针就到了要被删除的节点的前一个节点。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, n ...
分类:
其他好文 时间:
2021-05-24 17:18:01
阅读次数:
0
二叉搜索里左子树的值都小于根节点的值,右子树的值都大于根节点的值,如果按从小到大顺序排的话,顺序是跟中序遍历一致的,首先想到的思路是对树进行中序遍历,用一个vector把每个节点都存起来,然后将每个节点双向连接起来,但显然并不是出题者想看到的方法。于是开始往递归的方向想,首先想到的是将根节点左边与左 ...
分类:
其他好文 时间:
2021-05-24 16:37:01
阅读次数:
0
我们维护一个有序单链表,越靠近链表尾部的结点是越早之前访问的。 当有一个新的数据被访问时,我们从链表头开始顺序遍历链表。 如果此数据之前已经被缓存在链表中了,我们遍历得到这个数据对应的结点,并将其从原来的位置删除,然后再插入到链表的头部。 如果此数据没有在缓存链表中,又可以分为两种情况:如果此时缓存 ...
分类:
编程语言 时间:
2021-05-24 16:22:09
阅读次数:
0
学习记录,仅供参考,希望可以指出错误 根据带头结点的线性链表改编,即elemtype也变成了struct结构 #include<stdio.h> #include<stdlib.h> //改由带头结点的线性链表 #define OK 1 #define ERROR 0 typedef int sta ...
分类:
其他好文 时间:
2021-05-24 12:40:12
阅读次数:
0
书写一个资源管理器(文件树) 一.简单模型理解 简单的文件树: 默认结点类型 根结点 (DefaultMutableTreeNode)root 根结点添加子节点 root.add(默认结点类型 子结点) 默认文件树模型(带根结点) DefaultTreeModel treeModel 树 Jtree ...
分类:
其他好文 时间:
2021-05-24 12:26:41
阅读次数:
0
给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ...
分类:
其他好文 时间:
2021-05-24 10:30:25
阅读次数:
0
Description Link. 对于一棵树,选出一条链 \((u,v)\),把链上结点从 \(u\) 到 \(v\) 放成一个 长度 \(l\) 的数组,使得 \(\sum_{i=1}^{l}\sum_{j=1}^{i}a_{j}\) 最大,\(a\) 是点权。 Solution 可以发现那个式 ...
分类:
其他好文 时间:
2021-05-24 08:58:59
阅读次数:
0
\(\text{Problem}:\)【UER #4】被删除的黑白树 \(\text{Solution}:\) 等价于白点数量最少。 假设初始所有点都是黑色的,现在要选择一些点使其变为白色,可以贪心考虑: 原树深度最小的叶子结点到根路径上的点全是黑色。 使得深度更小的结点变为白色。 对于第一点,若不 ...
分类:
其他好文 时间:
2021-05-24 08:22:10
阅读次数:
0