问题描述
输入一个链表,反转链表后,输出链表的头结点
思路分析
当我们遍历一次后,也就是遍历到尾节点时,其实也就完成了反转,在此过程中需要三个指针,一个指向当前遍历的前驱,由于反转,另一个是当前指针,还有一个是当前遍历的下一个指针,通过不断改变他们之间的关系来更改前后继关系
码上有戏
|
|
测试:
public static void main(String[] args) {
RefindNum rf=new RefindNum();
LinkNodes node1=new LinkNodes(1);
LinkNodes node2=new LinkNodes(2);
LinkNodes node3=new LinkNodes(3);
LinkNodes node4=new LinkNodes(4);
node1.next=node2;
node2.next=node3;
node3.next=node4;
node4.next=null;
LinkNodes phead=rf.reserve(node1);
while(phead!=null){
System.out.println(phead.data);
phead=phead.next;
}