Heim  >  Artikel  >  Java  >  Ungerade-gerade verknüpfte Liste

Ungerade-gerade verknüpfte Liste

WBOY
WBOYOriginal
2024-07-21 12:18:091059Durchsuche

Odd-even LinkedList

Problem

Wir müssen den Index i weiterhin verfolgen, wenn die Knotenwerte ungerade sind, und sie dann in eine andere, beispielsweise ungerade, einfügen, andernfalls in eine Liste, beispielsweise gerade.
Am Ende verbinden Sie den letzten Knoten der ungeraden Liste mit dem Kopf der geraden Liste

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode oddEvenList(ListNode head) {
        ListNode odd  = new ListNode(0);
        ListNode even = new ListNode(0);
        ListNode pointerOfOdd = odd;
        ListNode pointerOfEven = even;
        int i =1;
        while(head!=null){
            if(i%2!=0){
                odd.next = new ListNode(head.val);
                odd = odd.next;
            }
            else{
                even.next = new ListNode(head.val);
                even = even.next;
            }
            i++;
            head = head.next;
        }
        odd.next = pointerOfEven.next;

        return pointerOfOdd.next;
    }
}

Das obige ist der detaillierte Inhalt vonUngerade-gerade verknüpfte Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn