import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* public ListNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 头插法创建链表方式反转
* @param head ListNode类
* @return ListNode类
*/
// public ListNode ReverseList (ListNode head) {
// // write code here
// ListNode p = new ListNode(0);
// if (head == null) {
// return p.next;
// }
// while (head != null) {
// ListNode nextNode = p.next;
// // ListNode curNode = new ListNode(head.val);
// p.next = head;
// head = head.next;
// p.next.next = nextNode;
// }
// return p.next;
// }
/**
* 双指针方法,一个指向pre节点,一个当前节点。
*
*/
public ListNode ReverseList (ListNode head) {
// write code here
ListNode pre = null;
while(head != null) {
ListNode curNode = head;
head = head.next;
curNode.next = pre;
pre = curNode;
}
return pre;
}
}