java链表反转代码怎么写

网友投稿 175 2024-01-08

以下是Java中链表反转的示例代码:

public class ListNode { int val; ListNode next; ListNode(int val) { this.val = val; } } public class LinkedListReverse { publicstatic ListNode reverseList(ListNode head) { ListNode prev = null; ListNode current = head; ListNode next = null; while (current != null) { next = current.next; current.next = prev; prev = current; current = next; }return prev; } publicstaticvoidmain(String[] args) { ListNode head = new ListNode(1); head.next =new ListNode(2); head.next.next = new ListNode(3); head.next.next.next = new ListNode(4); head.next.next.next.next = new ListNode(5); ListNode reversedHead =reverseList(head); System.out.print("Reversed List: "); while (reversedHead != null) { System.out.print(reversedHead.val +" "); reversedHead = reversedHead.next; } } }

运行以上代码,将会输出反转后的链表:

Reversed List: 5 4 3 2 1

在反转链表的代码中,我们使用了三个指针prev、current和next。初始时,prev为null,current为头节点head,next为null。在每一次循环中,我们将current的next指针指向prev,然后依次向后移动prev、current和next指针。最终,prev指针将指向反转后的链表头节点,我们将其返回即可。

购买使用服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java怎么实现单向链表反转
下一篇:java的jvm调优方法有哪些
相关文章

 发表评论

暂时没有评论,来抢沙发吧~