首页 > 代码库 > 【链表】反转链表

【链表】反转链表

 

输入一个链表,反转链表后,输出链表的所有元素。

 1 /* 2 public class ListNode { 3     int val; 4     ListNode next = null; 5  6     ListNode(int val) { 7         this.val = val; 8     } 9 }*/10 public class Solution {11     public ListNode ReverseList(ListNode head) {12 13         if (null == head || null == head.next) {14             return head;15         }16 17         ListNode lastNode = head;18         ListNode currNode = head.next;19         ListNode preNode = head.next.next;20 21         while(null != preNode){22             currNode.next = lastNode;23 24             if (lastNode == head) {25                 lastNode.next = null;26             }27 28             lastNode = currNode;29             currNode = preNode;30             preNode = preNode.next;31         } 32         33         currNode.next = lastNode;34 35         return currNode;36     37     }38 }

 

【链表】反转链表