Занятие 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.

Список занятий