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

Задание

  1. Предложить (и реализовать) алгоритм, позволяющий найти в данной строке некоторую подстроку-палиндром, имеющую максимальную длину среди всех подстрок-палиндромов.
  2. Найти все подстроки-палиндромы, имеющие максимальную длину.

Указание: Метод substring(int i, int j) позволяет получить подстроку данной строки, начинающуюся с индекса i и заканчивающуюся индексом j.

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

CC Attribution-Noncommercial 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0