package LeetCode;
public class ReverseLis {
public static ListNode ReverseList(ListNode head) {
ListNode newlist = null; //新链表
ListNode p = null; // 转换方向结点
while(head != null) {
//System.out.println(head.val);
p = head;
head = head.next;
p.next = newlist;
newlist = p;
}
return newlist;
}
public static void main(String[] args) {
ListNode node1 = new ListNode(1);
ListNode node2 = new ListNode(2);
node1.next = node2;
ListNode node3 = new ListNode(3);
node2.next = node3;
ListNode node4 = new ListNode(4);
node3.next = node4;
ListNode node5 = new ListNode(5);
node4.next = node5;
ListNode head = node1;
for (ListNode p = head; p != null; p = p.next) {
System.out.print(p.val+" ");
}
System.out.println();
head = ReverseList(head);
for (ListNode p = head; p != null; p = p.next) {
System.out.print(p.val+" ");
}
}
}
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}