75. 颜色分类 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,**原地**对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 **注意:**请不要使用代码库中的排序函数来解决这道题。 进阶: 你能想出 ...
分类:
编程语言 时间:
2021-01-18 11:33:42
阅读次数:
0
题目: 思路: 首先画个图出来,假设有两个指针指向头结点 p1与p2,那么当p1走一步,而p2走两步,如果存在圆,那么必然会出现,p1与p2同时落在C处(即重合点)。故此时链表有环。 其次,题目要求我们取出入口节点,由上可知, 假设 链表头到环入口AB长度为——a, 环入口到相遇点BC长度为——b, ...
分类:
其他好文 时间:
2021-01-14 11:16:29
阅读次数:
0
重磅干货,第一时间送达题目复杂链表的复制题目要求输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)解题思路把复制的结点链接在原始链表的每一对应结点后面把复制的结点的random指针指向被复制结点的random指针的下一个结点拆分成两个链
分类:
编程语言 时间:
2020-12-21 11:15:13
阅读次数:
0
重磅干货,第一时间送达题目链表中环的入口结点题目要求给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。解题思路先看一张图,首先A是起点,C是环的入口点,B是指针的相遇点既然要相遇,那必然是两个指针的相遇。那他的快慢程度如何确定?我们假设快指针fast一次走2步,慢指针slow一次走1步,每次拉开的差距就是1步,由于我们知道这个链表是个环,那么这样快指针fast一定可以赶上s
分类:
编程语言 时间:
2020-12-21 10:57:28
阅读次数:
0
入门版(206题) 题目描述 解题思路:迭代 使用cur和pre两个指针,一前一后(一左一右)地指向两个相邻节点 在每一轮迭代中: 用临时指针保存pre的next 让pre的next(掉头)指向cur cur和pre都沿着链表原来的方向,向前(右)走一步 当pre为空时,迭代结束 此时cur就是新链 ...
分类:
其他好文 时间:
2020-12-03 12:12:56
阅读次数:
6
前言 C中我们会进行malloc一块内存,然后free掉。但是经常会遇到我们忘记写free,导致内存溢出,C++也有类似的情况,为了解决掉我们忘记释放内存的习惯,C++引入了几种智能指针,为的就是让函数可以在正常终止或者异常终止的情况下,改指针的指向的内存都可以处于正确的状态。shared_ptr、 ...
分类:
编程语言 时间:
2020-11-19 12:30:14
阅读次数:
6
题目 给你$n$个非负整数$a_1,a_2,...,a_n$每个数代表坐标中的一个点$(i, a_i)$。在坐标内画$n$条垂直线,垂直线$i$的两个端点分别为$(i, a_i)\(和\)(i, 0)$。找出其中的两条线,使得它们与$x$轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器。 示 ...
分类:
其他好文 时间:
2020-11-10 11:14:35
阅读次数:
8
给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 首先需要对两个数组进行排序; 排序之后 a = [1, 2, 3, 11, 15] b = [8, 19, 23, 127, 235] 定义两个指针i和j分别用来扫a和b 当a[i]和b[j]时 ...
分类:
其他好文 时间:
2020-09-24 21:36:11
阅读次数:
36
字符串的翻转问题 344 反转字符串 双指针做法,反转问题的经典的解决方案,利用两个指针,每次相对移动,移动过程中交换,直到指针相遇。 public void reverseString(char[] s) { if(s.length == 0) return; int l = 0, r = s.l ...
分类:
其他好文 时间:
2020-09-17 16:45:26
阅读次数:
23
概念:什么是双向链表 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。 所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 代码简单实现: """ author: zhao xian xin 不积 ...
分类:
编程语言 时间:
2020-09-17 12:51:13
阅读次数:
34