反转链表

输入一个链表,反转链表后,输出新链表的表头。

通常感觉各种操作链表比较乱,其实理清了也还好。


链表操作示意图
public ListNode ReverseList(ListNode head) {
        if (head == null) {
            return null;
        }
        ListNode p = head;
        ListNode q = null;
        while (p != null) {
            ListNode tmp  = p.next;
            p.next = q;
            q = p;
            p = tmp;
        }
        return q;
    }

你可能感兴趣的:(反转链表)