Heim  >  Artikel  >  Java  >  So löschen Sie den N-ten Knoten aus der letzten verknüpften Liste in Java

So löschen Sie den N-ten Knoten aus der letzten verknüpften Liste in Java

WBOY
WBOYnach vorne
2023-04-28 15:52:141167Durchsuche
Idee zur Problemlösung
  1. Die Gesamtidee besteht darin, den vorderen Zeiger zunächst n Schritte bewegen zu lassen und dann den vorderen und hinteren Zeiger gemeinsam zu bewegen, bis der vordere Zeiger das Ende erreicht.

  2. Zuerst den Vorwärtszeiger einrichten. Der Vorwärtszeiger ist ein kleiner Trick, der in Frage 2 erklärt wird. und der Rückzeiger ist der zweite, beide sind gleich pre

  3. First bewegt sich zuerst n Schritte vorwärts, und dann bewegen sich First und Second gemeinsam vorwärts Am Ende ist die Position des zweiten zufällig der vorherige Knoten des n-ten Knotens vom letzten.

  4. Java-Code

    class Solution {
        
           public ListNode removeNthFromEnd(ListNode head, int n) {
    
            ListNode pre = new ListNode(0);
            pre.next = head;
    
            ListNode first = pre;
            ListNode second = pre;
    
            while (n>0){
                first= first.next;
                n--;
            }
    
            while (first.next != null){
                first=first.next;
                second=second.next;
            }
            second.next = second.next.next;
    
            return  pre.next;
        }
    }

Das obige ist der detaillierte Inhalt vonSo löschen Sie den N-ten Knoten aus der letzten verknüpften Liste in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen