leetcode24 两两交换链表中的节点

    xiaoxiao2025-07-19  20

    给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

    你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

     

    示例: 给定 1->2->3->4, 你应该返回 2->1->4->3

    思路:递归

             

    public ListNode swapPairs(ListNode head) { if(head == null || head.next == null) return head; ListNode node = head.next; head.next = swapPairs(head.next.next); node.next = head; return node; }

    递归遍历到链表末尾,然后先交换末尾两个,然后依次往前交换: .

    最新回复(0)