Публикации по теме 'two-pointers'
Связанный список палиндромов
В этой статье мы рассмотрим различные подходы к проверке, является ли данный связанный список палиндромом или нет.
Постановка задачи:
Учитывая head односвязного списка, вернуть true , если это палиндром, или false в противном случае .
Подход 1. Используйте дополнительный массив
Пройдите по связанному списку и скопируйте каждый элемент в массив. Используйте два указателя, один из которых начинается с начала массива, а другой — с конца, и сравнивайте значения в каждой..
Алгоритмы: 2 указателя, средний узел связанного списка
Проблема
Учитывая head односвязного списка, вернуть средний узел связанного списка .
Если есть два средних узла, верните второй средний узел.
Пример 1:
Input: head = [1,2,3,4,5]
Output: [3,4,5]
Explanation: The middle node of the list is node 3.
Решение
Ключ к этой проблеме в том, что вы догадались; два указателя. Связанные списки иногда сложно визуализировать, но с практикой это определенно становится легче.
Первый указатель будет перемещаться по..
Реализовать strStr()
Литкод 28
Реализовать strStr() | LeetCode OJ Реализовать strStr(). Возвращает индекс первого появления иглы в стоге сена или -1, если игла не является частью… leetcode.c
Вопрос
Реализовать strStr(). Возвращает индекс первого появления иглы в стоге сена или -1, если игла не является частью стога сена.
Подсказки
Скользящие индексы двух строк -> Два указателя
Большой О
O(m * (n-m+1)), где n = длина стога сена, m = длина иголки...