leetcode24. 两两交换链表中的节点

传送门

题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例:
给定 1->2->3->4, 你应该返回 2->1->4->3.

	public ListNode swapPairs(ListNode head) {
    
    
        // 这里两个判断,就会保证链表长为奇数时,最后一个节点直接返回,不会和前面的交换
        if (head == null || head.next == null) return head;
        
        ListNode first = head, second = head.next;
        first.next = swapPairs(second.next);// 返回的子链表被 first接收
        second.next = first; 
        return second;
    }

猜你喜欢

转载自blog.csdn.net/qq_43778308/article/details/108423292
今日推荐