题意是要删除一个排序链表里所有重复出现的数字,链表里留下的数字都是只出现一次的数字。 思路:用两个指针currentNode和nextNode扫描一遍有序链表,最开始初始化currentNode为链表的附加头节点dummy, nextNode为currentNode的下一个节点,然后不断判断next ...
分类:
编程语言 时间:
2020-07-06 12:40:20
阅读次数:
66
#leetcode复盘:19. 删除链表的倒数第N个节点 ##一、19. 删除链表的倒数第N个节点 方法一:两重遍历(链表的遍历和删除) (1)链表的遍历:利用临时节点一次遍历链表中的每一个节点,判断节点中的指针域是否为NULL,否则继续向后遍历;向后遍历过程为指向当前节点的指针,赋值为指向下一个节 ...
分类:
其他好文 时间:
2020-07-06 01:29:47
阅读次数:
64
##1. 模式 ###1.0 回溯 贪婪模式和懒惰模式都会进行回溯; 匹配两次相关的字符时,匹配到不符合要求的字符后,这个字符才算匹配完,然后继续匹配下一个字符; 比如:xy{1,3}z 样本:xyyyz 在匹配该样本时,无论贪婪模式还是懒惰模式,都需要匹配到z后才能知道y字符匹配完成,才会继续匹配 ...
分类:
其他好文 时间:
2020-07-05 21:18:42
阅读次数:
52
题目描述早苗入手了最新的高级打字机。最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧。请为这种高级打字机设计一个程序,支持如下3种操作:1.T x:在文章末尾打下一个小写字母x。(type操作)2.U x:撤销最后的x次修改操作。(Undo操作)(注意Query操作并不算修改操作)3.Q... ...
分类:
其他好文 时间:
2020-07-05 21:12:37
阅读次数:
62
单向链表反转的方法有很多,其中用的比较多的是迭代法和递归法,迭代法通俗易懂,递归法相对来说比较难理解一些。 最近读了一些网上的文章对这两种算法的解释后,有些自己的理解分享出来供大家参考。 单向链表反转图示: 一、迭代法 迭代法的解题思路是:通过循环遍历的方式,使链表的每一个节点和它的下一个节点断开, ...
分类:
其他好文 时间:
2020-07-05 19:17:44
阅读次数:
145
JavaScript引擎是一个事件驱动的执行引擎,代码总是以单线程执行,而回调函数的执行需要等到下一个满足条件的事件出现后,才会被执行。 1. JavaScript不区分整数和浮点数,统一用Number表示。 NaN:表示Not a Number,当无法计算结果时用NaN表示。 Infinity:表 ...
分类:
编程语言 时间:
2020-07-05 19:04:04
阅读次数:
73
报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。 本题要求编写函数,给出每个人的退出顺序编号。 函数接口定义: void CountOff( int n, int m, ...
分类:
其他好文 时间:
2020-07-05 17:41:40
阅读次数:
131
场景 当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。 我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。 代码示例 /** * @author Lenovo * @date 2020/7/4 19:25 ...
分类:
其他好文 时间:
2020-07-04 20:28:59
阅读次数:
67
请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 这题首先思路就比较复杂。 如果直接复制好基础链表,再复制random指针,就需要O(n^2)的时间,比较慢。 ...
分类:
其他好文 时间:
2020-07-04 17:02:36
阅读次数:
51
import java.util.Arrays; /* 给定一个32位正整数 n,你需要找到最小的32位整数,其与 n 中存在的位数完全相同,并且其值大于n。如果不存在这样的32位整数,则返回-1。 示例 1: 输入: 12 输出: 21 示例 2: 输入: 21 输出: -1 来源:力扣(Leet ...
分类:
其他好文 时间:
2020-07-04 16:58:44
阅读次数:
55