Leetcode 24 两两交换链表中的节点

题目

代码分析 

简单版的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次

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务