237. Delete Node in a Linked List
Дан односвязный список с головой head, и требуется удалить узел node в этом списке.
Вам дан узел node, который нужно удалить. У вас нет доступа к первому узлу head.
Все значения в односвязном списке уникальны, и гарантируется, что данный узел node не является последним узлом в списке.
Удалите данный узел. Обратите внимание, что под удалением узла мы не подразумеваем его удаление из памяти. Мы имеем в виду:
- Значение данного узла не должно существовать в односвязном списке.
- Количество узлов в односвязном списке должно уменьшиться на один.
- Все значения перед узлом должны оставаться в том же порядке.
- Все значения после узла должны оставаться в том же порядке.
Пример
Input: head = [4,5,1,9], node = 5
Output: [4,1,9]
Explanation: You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function.
C# решение
сопоставлено/оригиналpublic class Solution {
public void DeleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}
C++ решение
auto-draft, проверить перед отправкой#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public void DeleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}
Java решение
сопоставлено/оригиналclass Solution {
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}
JavaScript решение
сопоставлено/оригиналclass Solution {
deleteNode(node) {
node.val = node.next.val
node.next = node.next.next
}
}
Python решение
сопоставлено/оригиналclass Solution:
def deleteNode(self, node: ListNode) -> None:
node.val = node.next.val
node.next = node.next.next
Go решение
сопоставлено/оригиналfunc deleteNode(node *ListNode) {
node.Val = node.Next.Val
node.Next = node.Next.Next
}
Algorithm
Копирование данных: Скопируйте значение из следующего узла (
node.next
) в текущий узел (node). Таким образом, текущий узел будет иметь значение, которое было в следующем узле.
Обновление указателя: Обновите указатель next текущего узла, чтобы он ссылался на узел, следующий за узлом
node.next
. Это effectively удалит следующий узел из списка.
Удаление ссылки на следующий узел: Убедитесь, что следующий узел больше не ссылается на другие узлы, тем самым полностью исключая его из списка.
😎
Вакансии для этой задачи
Показаны активные вакансии с пересечением по тегам задачи.