链表反转链表

Posted 梵高先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表反转链表相关的知识,希望对你有一定的参考价值。

 

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

 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 }

 

以上是关于链表反转链表的主要内容,如果未能解决你的问题,请参考以下文章

如何链表反转

反转链表

Offer[24] 反转链表

剑指Offer-反转链表

c语言,链表的反转,请写出代码,并讲解下,谢了!!!!!

代码的鲁棒性:反转链表