Публикации по теме 'linked-lists'
Добавить два номера связанного списка
ЛитКод 2.
Вам даны два непустых связанных списка, представляющих два неотрицательных целых числа. Цифры хранятся в обратном порядке , и каждый из их узлов содержит одну цифру. Добавьте два числа и верните сумму в виде связанного списка. Вы можете предположить, что эти два числа не содержат начальных нулей, кроме самого числа 0.
Example 1:
Input: l1 = [2,4,3], l2 = [5,6,4]
Output: [7,0,8]
Explanation: 342 + 465 = 807.
Example 2:
Input: l1 = [0], l2 = [0]
Output: [0]..
Обратные узлы в k-группе
Для связанного списка переверните узлы связанного списка k за раз и верните его измененный список.
k - положительное целое число, которое меньше или равно длине связанного списка. Если количество узлов не кратно k , то оставленные узлы в конце должны оставаться такими, как есть.
Пример:
Учитывая этот связанный список: 1->2->3->4->5
Для k = 2 вы должны вернуть: 2->1->4->3->5
Для k = 3 вы должны вернуть: 3->2->1->4->5..
Недопустимые методы использования связанных списков
Я занимаюсь кодированием довольно давно и работал над улучшением производительности системы. В этом посте я объясню, чего следует избегать при использовании связанного списка для решения проблем особенно во время собеседований .
TL; DR . Если у вас возникла проблема с собеседованием, связанная со связанным списком, попробуйте решить ее с пространственной сложностью O (1) и линейной временной сложностью O (n).
1. Хранение узлов в коллекции (Очередь, Стек, Карта, Набор и т. Д.)
Вам..
Реверс связанного списка в Javascript
В предыдущей статье я писал о связных списках и их реализации в Javascript.
Одно из распространенных собеседований по кодированию — обращение связанного списка, и я записал пошаговую реализацию.
Допустим, есть односвязный список со значениями 1(голова) →10→88→5→16→30(конец)→нуль.
Ожидаемый результат: 30 (орел) → 16 → 5 → 88 → 10 → 1 (решка) → ноль.
Итак, я создал функцию reverse() и описал пошаговый подход.
Проверьте для простой проверки данных. Если есть один элемент, нам нужно..
Дважды циклический связанный список | Реализация C++
Узлы в связанном списке связаны через указатели . Указатели представляют собой адрес места в памяти. Порядок в связанном списке определяется указателем в каждом узле. node в двойном круговом связанном списке содержит элемент данных и два указателя узлов, один на предыдущий узел и один на следующий узел. В двусвязном списке мы можем перемещаться в обоих направлениях.
Связано: Двусвязный список
Вот мем, чтобы понять Круговой связанный список.
Первый узел связанного списка..
Решение проблем кодирования связанных списков
Решение проблем кодирования линейного списка с объяснением
С++ Определение
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
Проблемы
Удалить дубликаты из отсортированного списка Easy
Решение
Отследить предыдущий узел (указатель node в коде) удаляемого узла. Используйте переменную tmp , чтобы указать узел, который нужно удалить. Используйте node->next в условии while, так как node->next->val..
Как использовать связанные списки в C
------------------------- ------------------------
| | | \ | | |
| DATA | NEXT |-------------| DATA | NEXT |
| | | / | | |
------------------------- ------------------------
Одним из способов создания динамических структур данных в C является использование связанных списков. В этой статье я представляю основные методы добавления, удаления и..