0
点赞
收藏
分享

微信扫一扫

leetcode-简单题-24. 两两交换链表中的节点

蛇发女妖 2022-02-27 阅读 45

题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/submissions/
越来越顺手了,这题反正今天越做越快(●’◡’●)

class Solution {
    public ListNode swapPairs(ListNode head) {
        if(head == null) return null;
        if(head.next == null) return head;
        ListNode dummyNode = new ListNode(-1, head);
        ListNode left = dummyNode;
        ListNode mid = head;
        ListNode right = null;
        while(left.next != null){
            mid = left.next;
            right = left.next.next;
            if(right == null) return dummyNode.next;//排除单数的节点
            //开始交换
            mid.next = right.next;           
            right.next = mid;
            left.next = right; 
            //交换结束,左指针移至下一段
            left = left.next.next;
        }
        return dummyNode.next;
    }
}
举报

相关推荐

0 条评论