1. public ListNode swapPairs(ListNode head) {
    2. // 边界条件
    3. if (head == null || head.next == null) {
    4. return head;
    5. }
    6. // 第三个节点
    7. ListNode third = head.next.next;
    8. // 新头节点指向原头节点的下一个节点
    9. ListNode newHead = head.next;
    10. // 新头节点的下一个节点指向原头节点
    11. newHead.next = head;
    12. // 递归以上步骤
    13. head.next = swapPairs(third);
    14. // 返回新的链表
    15. return newHead;
    16. }