public HeroNode reverse(HeroNode heroNode){
HeroNode next,prev=null;
HeroNode cur=heroNode;
while (cur!=null){
//head等于node1时cur.next=node2;
next=cur.next;
//node1的指针为空
cur.next=prev;
//读取node的val
prev=cur;
//curr=node2
cur=next;
}
return prev;
}
配合单链表食用更佳,上图为迭代器写法
(14条消息) 手写单链表的增删改查(Java实现)_jieshaoNO1的博客-CSDN博客
public HeroNode recursion(HeroNode head){
if (head==null||head.next==null){
//把最后一个元素找出来了。
return head;
}
//并不需要返回值,只是利用递归把链表从后往前指
recursion(head.next);
head.next.next=head;
head.next=null;
return null;
}
反转链表递归六行代码,真的很精简了,不精髓你来砍我。