Heim > Java > JavaErste Schritte > Hauptteil

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

王林
Freigeben: 2021-01-04 11:54:23
nach vorne
1748 Leute haben es durchsucht

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
Nach dem Login kopieren

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;
    }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage