在本题目中本人利用头插法实现反转,遍历整个链表,每次将当前的的节点插入到新链表的头部,实现反转,代码简单效率高,代码如下:
class Solution {
public ListNode reverseList(ListNode head) {
ListNode cur = head;//当前节点
ListNode pre = null;//每次要插入的节点
ListNode newHead = null;//新的头节点
while(cur != null){
pre = cur;
cur = cur.next;
pre.next = newHead;
newHead = pre;
}
return newHead;
}
}