当前位置:   article > 正文

算法-反转链表(java)_反转链表 java

反转链表 java
  1. /*
  2. 链表包含 val和 下一个的地址指向
  3. 简写的javabean
  4. public class ListNode {
  5. int val; //值
  6. ListNode next = null; //下一个
  7. ListNode(int val) {
  8. this.val = val;
  9. }
  10. }*/
  11. public class Solution {
  12. public ListNode ReverseList(ListNode head) {
  13. ListNode pre=null; //声明一个变量 pre 并初始化为 null,用来保存反转后的链表的头结点。
  14. ListNode next=null;//声明一个变量 next 并初始化为 null,用来保存当前节点的下一个节点。
  15. while(head!=null){ //循环迭代链表,直到 head 变为 null,即遍历完整个链表
  16. next=head.next; //将当前的指向下一个的地址赋值给next
  17. head.next=pre;//将当前节点的指针指向前一个节点 pre,完成反转。
  18. pre=head;//更新 pre 为当前节点,用来保存当前节点作为下一个节点的前一个节点
  19. head=next;
  20. }
  21. return pre; //返回反转后的链表的头结点,即 pre
  22. }
  23. }

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号