题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
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; } }