MyTetra Share
Делитесь знаниями!
Полиндром
Время создания: 24.09.2017 16:18
Текстовые метки: task
Раздел: Java - Задачник - Массивы
Запись: xintrea/mytetra_db_mcold/master/base/1506259133unodrnt9a3/text.html на raw.githubusercontent.com

package Palindrom;


/*

Реализуйте метод, проверяющий, является ли заданная строка палиндромом. Палиндромом называется строка, которая читается одинаково слева направо и справа налево (в том числе пустая). При определении "палиндромности" строки должны учитываться только буквы и цифры. А пробелы, знаки препинания, а также регистр символов должны игнорироваться. Гарантируется, что в метод попадают только строки, состоящие из символов ASCII (цифры, латинские буквы, знаки препинания). Т.е. русских, китайских и прочих экзотических символов в строке не будет.


Воспользуйтесь предоставленным шаблоном. Декларацию класса, метод main и обработку ввода-вывода добавит проверяющая система.


Подсказки (не читайте, если хотите решить сами):


для удаления из строки всех символов, не являющихся буквами и цифрами, можно воспользоваться регулярным выражением "[^a-zA-Z0-9]"; найдите в классе String метод, выполняющий замену по регулярному выражению;

для перестановки символов строки в обратном порядке можно воспользоваться методом reverse(), который находится в классе StringBuilder;

в классе String есть методы для преобразования всей строки в верхний и нижний регистр.

*/


import java.util.Arrays;


public class Solution {

public static void main(String[] args){

String s = "Madam, I'm Adam!";

System.out.println(isPalindrome(s));

}

public static boolean isPalindrome(String text) {

//String leftText = (text.replaceAll("[^a-zA-Z0-9]", "")).toLowerCase();

StringBuilder leftText = new StringBuilder((text.replaceAll("[^a-zA-Z0-9]", "")).toLowerCase());

StringBuilder rightText = new StringBuilder(leftText).reverse();

System.out.println(leftText);

System.out.println(rightText);

String left = String.valueOf(leftText);

char[] l = left.toCharArray();

String right = String.valueOf(rightText);

char[] r = right.toCharArray();

//bool b = Arrays.equals(leftText, rightText);

return Arrays.equals(l, r);

}

}


Так же в этом разделе:
 
MyTetra Share v.0.62
Яндекс индекс цитирования