介绍
这篇文章将为大家详细讲解有关使用Java如何翻转单链表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
Java实现单链表反转,递归和非递归两种形式
/* * *反转单链表 *//* * *定义链表 * * @author 16026 * */{类节点 int val; 节点下; 公共节点(int val) { 这一点。val=val; } } 公开课ReverseList {/* * *反转链表 * * @param头 * @return */公共静态节点reverseList(节点){ 如果(头==null | |头。下一个==null) { 返回头; } 节点reHead=零;//定义新链表头结点 而(头!=null) { 节点cur=head.next;//记录下一个节点 头。下一个=reHead;//将reHead节点连接到头节点上 reHead=头;//让reHead指向头部 头=坏蛋;//将头部指向下一个节点 } 返回reHead; }/* * *递归反转链表 * * @param头 * @return */公共静态节点reverseList2(节点){ 如果(头==null | |头。下一个==null) 返回头; 节点rehead=reverseList2 (head.next); head.next。下一个=头;//将头节点置于末端 头。下一个=零;//防止链表循环 返回rehead; }/* * *打印链表 * * @param头 */公共静态孔隙printList(节点){ 如果(头==null) 返回; 而(头!=null) { System.out.print(头。val +“;“); 头=head.next; } }/* * *测试 * * @param arg游戏 */公共静态void main (String [] args) { 节点n1=新节点(1); 节点n2=新节点(2); 节点n3=新节点(3); 节点陶瓷=新节点(4); 节点它们=新节点(5); n1。下一个=n2; n2。下一个=n3; n3。下一个=陶瓷; 陶瓷。下一个=它们;//节点rehead=reverseList (n1); 节点rehead=reverseList2 (n1); printList (rehead); } }
运行结果如下:
关于使用Java如何翻转单链表就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。