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!