题目:
输入一个链表,反转链表后,输出新链表的表头。
解题思路:
定义三个指针,pre、head和next,每次让【head指向的节点】指向【pre指向的节点】,然后遍历,即可完成。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode pre = null;
ListNode curr = head;
while(curr != null) {
ListNode currNext = curr.next;
// 断链
curr.next = pre;
pre = curr;
curr = currNext;
}
return pre;
}
}