力扣刷JAVA基础
题目讲解:
力扣
第一题 (题号206)
题目:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
难点罗列
- 如何把指针的方向改变
- 如何依次循环
代码实现(先看总体,下面会解释)
我们需要两个指针
经过一次循环后
经过两次循环后
解释每一个指针的作用
- newhead -----------> 目的在于保存上一个的地址
- cur ------------------->目的在于让链表的指向改变
- tmp ------------------>目的在于保存下一个地址
第二题(题号61)
题目:给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。
难点罗列
- 如何旋转
- 如何形成一个新的列表
代码实现
这一步的代码实现如下
这里的 i 变量进行长度的统计,便于下一步的旋转
然后我们接下里的目的是找到,循环链表需要输出的表尾,然后在这里断开,返回表头
代码实现如下
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/18872.html