码迷,mamicode.com
首页 > 其他好文 > 详细

15 反转链表ReverseList

时间:2019-07-01 10:44:30      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:print   scanner   asn   stat   ring   一个   eve   就是   port   

输入一个链表,反转链表后,输出新链表的表头。

 1 import java.util.*;
 2 /*
 3 public class ListNode {
 4     int val;
 5     ListNode next = null;
 6 
 7     ListNode(int val) {
 8         this.val = val;
 9     }
10 }*/
11 public class Solution {
12     public static ListNode ReverseList(ListNode head) {
13         ListNode nextnode = null;
14         ListNode prenode = null;
15         while(head!=null){
16             nextnode = head.next;
17             head.next = prenode;
18             prenode = head;
19             head = nextnode;
20         }
21         return prenode;
22     }
23     public static void main(String [] args){
24         Scanner sc = new Scanner(System.in);
25         System.out.println("请依次输入链表");
26         ListNode head = null;
27         if(sc.hasNext())    head = new ListNode(sc.nextInt());
28         ListNode temp = head;
29         while(sc.hasNext()){
30             temp = new ListNode(sc.nextInt());
31             temp = temp.next;
32         }
33         temp.next = null;
34         ReverseList(head);
35     }
36 }

主要是三个指针在操控着反转的链表,A - -> B - -> C - -> D - -> E - -> F

16             nextnode = head.next;
17             head.next = prenode;
18             prenode = head;
19             head = nextnode;

head一开始指向A

nextnode指向了B   

A指向了prenode也就是空   A和B之间的链断开

head代表的A给了prenode,现在prenode就是A了,成功实现了A的反转出来

在将B给了head,重新循环就OK

15 反转链表ReverseList

标签:print   scanner   asn   stat   ring   一个   eve   就是   port   

原文地址:https://www.cnblogs.com/shareidea94/p/10850087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!