Heim >Java >JavaErste Schritte >Java implementiert die Operation zum Entfernen von Elementen aus einer verknüpften Liste

Java implementiert die Operation zum Entfernen von Elementen aus einer verknüpften Liste

王林
王林nach vorne
2021-01-04 11:54:231782Durchsuche

Java implementiert die Operation zum Entfernen von Elementen aus einer verknüpften Liste

Zweck: Verknüpfte Listenelemente entfernen

(Teilen von Lernvideos: Java-Lehrvideo)

Problemeinführung:

Alle Knoten in der verknüpften Liste löschen, die dem angegebenen Wert *"val*" entsprechen.

Beispielbeschreibung:

示例:
 
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5

Problemlösungsideen:

Einer basiert auf Sentinel-Knoten, der andere basiert auf Java-Sammlungen, im Wesentlichen das Gleiche

Programmimplementierung:

 import java.util.*;
 
public class RemoveElementsTest3 {
    public static void main(String[] args) {
        ListNode l1 = new ListNode(1);
        ListNode l2 = new ListNode(2);
        ListNode l3 = new ListNode(6);
        ListNode l4 = new ListNode(3);
        ListNode l5 = new ListNode(4);
        ListNode l6 = new ListNode(5);
        ListNode l7 = new ListNode(6);
        l1.next = l2;
        l2.next = l3;
        l3.next = l4;
        l4.next = l5;
        l5.next = l6;
        l6.next = l7;
        ListNode listNode = removeElements2(l1, 6);
        System.out.println("listNode = " + listNode);
 
    }
 
    public static ListNode removeElements(ListNode head, int val) {
        ListNode dummyNode = new ListNode(0);
        ListNode currentNode = dummyNode;
        while (head != null) {
            if (head.val != val) {
                currentNode.next = head;
                currentNode = currentNode.next;
            }
            head = head.next;
        }
        currentNode.next = null;
        return dummyNode.next;
    }
 
    public static ListNode removeElements2(ListNode head, int val) {
        List<Integer> list = new LinkedList<>();
        while (head != null) {
            list.add(head.val);
            head = head.next;
        }
        List<Integer> tempList = new ArrayList<>();
        tempList.add(val);
        list.removeAll(tempList);
        ListNode dummyNode = new ListNode(0);
        ListNode tempNode = dummyNode;
        for (int i = 0, size = list.size(); i < size; i++) {
            ListNode listNode = new ListNode(list.get(i));
            tempNode.next = listNode;
            tempNode = tempNode.next;
        }
        return dummyNode.next;
    }
}

Zusammenfassung:

Eigentlich, wenn ich das schreibe Ich denke, es ist leicht zu verstehen, wenn man sich die Implementierungslogik des gesamten Programms ansieht. Es gibt keine schwierigen Punkte, die abgeleitet werden müssen. Wenn Sie es nicht verstehen, können Sie das gegebene Programm genauer debuggen und sehen, was ausgegeben wird Sie werden jeweils nach erfolgreicher Operation ausgegeben.

Verwandte Empfehlungen: Java-Einführungs-Tutorial

Das obige ist der detaillierte Inhalt vonJava implementiert die Operation zum Entfernen von Elementen aus einer verknüpften Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Was sind die Java-Operatoren?Nächster Artikel:Was sind die Java-Operatoren?