剑指offer java版 test15—链表反转
可以看我这两篇博客,基本上是同一个代码(用指针反转来做):
https://blog.csdn.net/weixin_42146993/article/details/104594532
https://blog.csdn.net/weixin_42146993/article/details/104664437
题目:
输入一个链表,反转链表后,输出新链表的表头。
思路:指针反转
代码:
//链表反转代码:
class Solution {
public ListNode ReverseList(ListNode head) {
ListNode listNode=head;
ListNode next=null;
ListNode pre=null;
//4个节点,在这循环,就像两个数互换值 那种操作一样的道理
while(listNode!=null){
next=listNode.next;
listNode.next=pre;
pre=listNode;
listNode=next;
}
return pre;
}
}
//节点类
class ListNode{
int val;
ListNode next=null;
ListNode(int val){
this.val=val;
}
}