题目

代码分析 

简单版的Leetcode25

代码实现

public static ListNode swapPairs(ListNode head) {
        ListNode cur=head;
        ListNode start=null;
        ListNode next=null;
        int count=1;
        ListNode pre=null;

        while(cur!=null)
        {
            next=cur.next;
            if(count==2)
            {
                start=pre==null?head:pre.next;
                head=pre==null?cur:head;
                //逆置
                region(pre,start,cur,next);
                pre=start;
                count=0;
            }
            cur=next;
            count++;
        }
        return head;
    }

    public static void region(ListNode left,ListNode start,ListNode cur,ListNode next)
    {
        if(left!=null)
        {
            left.next=cur;
        }
        cur.next=start;
        start.next=next;
    }

学习情况

1次