解题思路

对于链表来说,我们知道头插和尾插的结果一个是逆序,一个是顺序排列;那么便可以遍历原链表,通过头插到新链表,从而实现链表反转;

代码

public class Solution {
    public ListNode ReverseList(ListNode head) {
        ListNode newNode = null;
        while (head != null) {
            // 头删原链表
            ListNode tmp = head;
            head = head.next;
            // 头插新链表
            tmp.next = newNode;
            newNode = tmp;
        }

        return newNode;
    }
}