@Test
public void reserveLinkedListTest(){
Node head=new Node();
Node cur=head;
for (int i = 1; i < 5; i++) {
Node node=new Node();
node.value=i;
cur.next=node;
cur=node;
}
reserveLinkedList0(head);
}
//新建链表,遍历旧链表的同时对新链表进行头部数据增加
public void reserveLinkedList(Node head){
if(head==null){
return;
}
Node newHead=new Node();
newHead.next=head;
Node current=head.next;
head.next=null;//这一步很重要
while (current!=null){
Node tmp=current.next;
current.next=newHead.next;
newHead.next=current;
current=tmp;
}
newHead=newHead.next;
while(newHead!=null){
System.out.println(newHead.value);
newHead=newHead.next;
}
}
public void reserveLinkedList0(Node head){
if(head==null){
return;
}
Node p1=head;//代表反转后的链表头部
Node p2=head.next;//代表下一个需要发转的链表节点
p1.next=null;//这一步很重要
while (p2!=null){
Node tmp=p2.next;
p2.next=p1;
p1=p2;
p2=tmp;
}
while(p1!=null){
System.out.println(p1.value);
p1=p1.next;
}
}
反转链表
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。