minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Dado o nó principal de uma lista vinculada e um valor inteiro, exclua todos os nós na lista vinculada que satisfaçam Node.val == val e retorne o novo nó principal.
Exemplo 1:
Entrada: cabeça = [1,2,6,3,4,5,6], val = 6
Saída: [1,2,3,4,5]
Exemplo 2:
Entrada: cabeça = [], val = 1
Saída: []
Exemplo 3:
Entrada: cabeça = [7,7,7,7], val = 7
Saída: []
dica:
O número de nós na lista está no intervalo [0, 104]
1 <= Nó.val <= 50
0 <= valor <= 50
A seguir está o código que usa Java para resolver o problema de remoção de elementos de uma lista vinculada:
- class ListNode {
- int val;
- ListNode next;
-
- ListNode(int val) {
- this.val = val;
- }
- }
-
- public class RemoveLinkedListElements {
- public ListNode removeElements(ListNode head, int val) {
- // 创建一个虚拟头节点,方便处理头节点可能被删除的情况
- ListNode dummy = new ListNode(0);
- dummy.next = head;
-
- ListNode curr = dummy;
- while (curr.next!= null) {
- if (curr.next.val == val) {
- curr.next = curr.next.next;
- } else {
- curr = curr.next;
- }
- }
-
- return dummy.next;
- }
-
- public static void main(String[] args) {
- // 构建链表
- ListNode head = new ListNode(1);
- ListNode node2 = new ListNode(2);
- ListNode node3 = new ListNode(6);
- ListNode node4 = new ListNode(3);
- ListNode node5 = new ListNode(4);
- ListNode node6 = new ListNode(5);
- ListNode node7 = new ListNode(6);
- head.next = node2;
- node2.next = node3;
- node3.next = node4;
- node4.next = node5;
- node5.next = node6;
- node6.next = node7;
-
- RemoveLinkedListElements solution = new RemoveLinkedListElements();
- ListNode newHead = solution.removeElements(head, 6);
-
- // 打印移除指定值后的链表
- while (newHead!= null) {
- System.out.print(newHead.val + " ");
- newHead = newHead.next;
- }
- }
- }
A ideia deste código é: criar um nó principal virtual 'fictício ', aponte seu ponteiro 'próximo' para o nó principal 'cabeça' da lista vinculada original. Em seguida, percorra a lista vinculada por meio de um loop e, quando um nó com valor igual a 'val' for encontrado, ele será excluído da lista vinculada. Finalmente, retorne o nó 'próximo' de 'fictício', que é o nó principal da nova lista vinculada após excluir o nó de valor especificado.
(O artigo é um resumo e referência de algumas experiências pessoais do autor no processo de aprendizagem Java. Se houver algum lugar inadequado ou errado, por favor critique e corrija. Trabalharemos muito para corrigi-lo. Se houver alguma infração , entre em contato com o autor para excluir a postagem.)