Bootstrap

力扣 LeetCode 24. 两两交换链表中的节点(Day2:链表)

解题思路:

暂存节点tmp和tmp1

注意:while (cur.next != null && cur.next.next != null)表示为偶数和奇数时的循环停止条件,并且while语句中的顺序不可交换,交换会报空指针异常

class Solution {
    public ListNode swapPairs(ListNode head) {
        ListNode dummy = new ListNode(-1);
        dummy.next = head;
        ListNode cur = dummy;
        while (cur.next != null && cur.next.next != null) {
            ListNode tmp = cur.next;
            ListNode tmp1 = cur.next.next.next;
            cur.next = cur.next.next;
            cur.next.next = tmp;
            tmp.next = tmp1;
            cur = cur.next.next;
        }
        return dummy.next;
    }
}

;