![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode刷题
文章平均质量分 77
本专栏用于记录本人的LeetCode刷题过程
城南皮卡丘
擅长Java全栈、Python开发、深度学习与神经网络等,研究方向为CV、NLP
展开
-
LeetCode(剑指offer) DAY2
对于当前节点,我们首先要进行拷贝,然后我们进行「当前节点的后继节点」和「当前节点的随机指针指向的节点」拷贝,拷贝完成后将创建的新节点的指针返回,即可完成当前节点的两指针的赋值。注意一个节点可能被多个其他节点指向,因此我们可能递归地多次尝试拷贝某个节点,为了防止重复拷贝,我们需要首先检查当前节点是否被拷贝过,如果已经拷贝过,我们可以直接从哈希表中取出拷贝后的节点的指针并返回即可。这样,我们可以直接找到每一个拷贝节点 S′的随机指针应当指向的节点,即为其原节点 S的随机指针指向的节点 T 的后继节点 T′。原创 2023-02-15 22:40:35 · 201 阅读 · 1 评论 -
LeetCode(剑指offer) Day1
如果栈顶元素为负数,说明该元素与最小值对应,而且pop出的元素就是最小值,pop出后我们需要确定栈中剩余元素的最小值,假设push该元素的时候插入栈中的值为value,那么value=x-min,公式变形得min=x-value。解题过程记录:本题就是用两个栈,其中一个作为输入栈,另外一个作为输出栈,由于栈的特点是先进后出,有序数字全部进栈然后再出栈会使这个数字序列逆序,然后逆序数字序列再一次经过进栈出栈操作会再次逆序,经过这两次逆序,原本的数字序列的顺序会保持不变,符合队列先进先出的特点。原创 2023-02-13 17:05:06 · 518 阅读 · 0 评论