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!