LeetCode——328. 奇偶链表

题目描述:

在这里插入图片描述

解题思路:

题意一开始没有搞懂,还以为是要判断链表值的奇偶,但这道题是把奇偶位置的分开,重新组成新的链表,方法就是把奇偶分开,然后再把偶数链表接在奇数后面就可以了。这种链表节点,就是看题解也要理解很久,很容易把自己搞晕,还是不太熟练吧,没有找到做这类题的感觉。先写个官方的题解吧,还有甜姨的秒懂奇偶链表题解还没去看,等国赛比完补吧。
参考代码

    public ListNode oddEvenList(ListNode head) {
    
    
        if (head == null) {
    
    
            return head;
        }
        //odd指向奇数节点
        //even指向偶数节点
        ListNode evenHead = head.next;
        ListNode odd = head, even = evenHead;
        while (even != null && even.next != null) {
    
    
            odd.next = even.next;
            odd = odd.next;
            even.next = odd.next;
            even = even.next;
        }
        odd.next = evenHead;
        return head;
    }

猜你喜欢

转载自blog.csdn.net/qq_44900959/article/details/109682328