Найти последнюю строку палиндрома в заданном массиве

Опубликовано: 20 Сентября, 2022

Дан массив строк arr[] размера N , где каждая строка состоит только из строчных латинских букв. Задача состоит в том, чтобы вернуть последнюю палиндромную строку в массиве.

Примечание. Это гарантирует, что всегда присутствует одна палиндромная строка.

Примеры:

Input: arr[] = {“abc”, “car”, “ada”, “racecar”, “cool”}
Output: “racecar”
Explanation: The Last string that is palindromic is “racecar”. 
Note that “ada” is also palindromic, but it is not the Last.

Input: arr[] = {“def”, “aba”}
Output: “aba”

Подход: Решение основано на жадном подходе. Проверяйте каждую строку массива от последней, является ли она палиндромом или нет, а также отслеживайте последнюю строку палиндрома. Выполните следующие шаги, чтобы решить проблему:

  • Инициализировать строковую переменную как пустую строку.
  • Перебрать диапазон (N, 0], используя переменную i , и выполнить следующие задачи:
    • Если arr[i] является палиндромом, то установите значение ans как arr[i] .
  • После выполнения вышеуказанных шагов выведите значение ans в качестве ответа.

Ниже приведена реализация вышеуказанного подхода:


Временная сложность: O(N*W), где W — максимальный размер любой строки в arr[]
Вспомогательное пространство: O(1)

РЕКОМЕНДУЕМЫЕ СТАТЬИ