мета-данные страницы
Занятие 20.11.13
Рассмотрим следующую задачу:
Задача
Написать программу, позволяющую проверять, является ли данная строка палиндромом.
Примеры палиндромов: abccba, 123bCb321, noon, radar, level, civic.
Решение
Создадим класс Palindrome
, статический метод которого будет осуществлять нужную нам проверку.
package com.nsunc.wiki.penname; public class Palindrome { static boolean isPalindrome(String s) { for (int i = 0; i < s.length() / 2; i++) if (s.charAt(i) != s.charAt(s.length() - i - 1)) return false; return true; } }
Задание
- Предложить (и реализовать) алгоритм, позволяющий найти в данной строке некоторую подстроку-палиндром, имеющую максимальную длину среди всех подстрок-палиндромов.
- Найти все подстроки-палиндромы, имеющие максимальную длину.
Указание: Метод substring(int i, int j)
позволяет получить подстроку данной строки, начинающуюся с индекса i
и заканчивающуюся индексом j
.