力扣刷题记录篇(二)——————链表逆置

leetCode25题:k组一个翻转链表

题目大意:链表按每 k 个节点为一组进行翻转,返回翻转后的链表。如果节点总数不是 k 的整数倍,将最后剩余的节点保持原有顺序。

 

首先编写一个链表逆置的代码:

代码段(java):

 

 

用一个小例子来解释一下这段代码:

假设原来一个链表为:

 

 

 

 

 

 

 

第一次进行while循环时:

1.

 

2.

 

3.

 

4.

 

 

当cur指向null时结束循环,最后可得逆置后的链表:

 

 

 

在解决了链表逆置后,就该考虑把链表按每 k 个节点为一组进行逆置的问题了。

代码段(java):

 

举个例子:

 

 

 

 

 

第一组的k个元素逆置:

 

然后再继续循环:

 

最后得到:

 

 

posted @ 2021-12-16 18:15  技能点  阅读(61)  评论(0)    收藏  举报