![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer刷题笔记
过期小朋友、
积极主动(找到关注的目标,关注那些力所能及且可以掌控的事情)、以终为始、要事第一
展开
-
《剑指offer》刷题笔记1
《剑指offer》刷题笔记1学习内容牛客网《剑指offer》66题《剑指offer》书籍参考网站转载:https://cuijiahua.com/blog/2018/02/basis_67.html原创 2019-01-31 20:24:43 · 246 阅读 · 0 评论 -
链表中倒数第k个结点
《剑指offer》刷题笔记2学习内容《剑指offer》链表的题目:·链表中倒数第k个结点(1)思路pHead指向第一个结点。 如果链表为空或者k=0,返回空。 如果链表不为空,只需要遍历一次链表。用两个指针,两个整型变量。一个指针保存答案,一个指针保存当前访问的结点。一个整型变量记录链表长度,每访问一个节点就加一;一个整形变量记录是否答案指针要后移,初始值为2-k,每...原创 2019-02-06 22:34:32 · 159 阅读 · 0 评论 -
链表中的环的入口结点
《剑指offer》刷题笔记3学习内容《剑指offer》链表的题目:链表中的环的入口结点(1)思路如果链表是一个空链表,或者只有一个结点的链表,答案是NULL。如果链表是至少有两个结点的线性链表,那么答案也是NULL。如果链表包含环,那么入口结点的地址一定出现且仅出现两次。特别情况就是整个链表是个环,那么入口结点是这个单链表的第一个结点。要找到整个链表中地址出现两次的结点。可把结构...原创 2019-02-09 21:30:36 · 206 阅读 · 0 评论 -
从头到尾打印链表
《剑指offer》刷题笔记4学习内容《剑指offer》链表的题目:从头到尾打印链表(1)思路如果链表为空,那么返回空。至少有一个结点的单链表,遍历一次链表,每访问一个结点,就把这个结点的数据部分入栈。遍历后,把栈的数据元素依次退出到一个数组里,再返回这个数组就可以。(2)代码/*** struct ListNode {* int val;* ...原创 2019-02-09 21:39:07 · 190 阅读 · 0 评论 -
删除链表中重复的结点
《剑指offer》刷题笔记5学习内容《剑指offer》链表的题目:删除链表中重复的结点(1)思路使用三个指针。一个指向当前结点的最晚被访问不重复结点。一个指向当前结点。一个指向当前结点的最后一个重复结点。当前结点的下一个结点可能是重复结点、新结点(也就是不重复结点)、空。如果当前结点的下一个结点是重复结点,那么找到它最后一个重复的结点记作pNext。如果当前结点的下一个结点是空结点或者...原创 2019-02-14 00:08:24 · 136 阅读 · 0 评论 -
两个链表的第一个公共结点
《剑指offer》刷题笔记6学习内容《剑指offer》链表的题目:两个链表的第一个公共结点(1)思路如果两个链表至少有一个为空表,返回空。否则,两个链表都不空,逐个固定一个链表的结点,移动另一个链表,有相同的就返回当前结点。(2)代码/*struct ListNode {int val;struct ListNode next;ListNode(int x) :val...原创 2019-02-14 00:39:30 · 143 阅读 · 0 评论 -
复杂链表的复制
复杂链表的复制学习内容《剑指offer》链表的题目:复杂链表的复制(1)思路逐个复制结点的值域和next指针域,并把复制的结点放在被复制的结点后面。复制当前结点的random域,付给下一结点。编号为奇数的结点为原链表结点,剩下的是复制出的新链表节点。(2)代码/*struct RandomListNode {int label;struct RandomListNode...原创 2019-02-14 00:48:57 · 146 阅读 · 0 评论 -
反转链表
《剑指offer》刷题笔记8学习内容反转链表(1)思路如果链表为空或者只有一个节点那么直接返回头指针。否则的话,定义一个对当前操作结点、上一个结点、下一个结点。访问到当前结点,将上一个结点地址放到其next域里。相当于断链了。更新这三个结点。(2)代码ListNode* ReverseList(ListNode* pHead) {ListNode* ans=NULL;List...原创 2019-02-19 20:55:50 · 172 阅读 · 0 评论