Sobes.tech
Назад к вопросам
Middle
4

Написать функцию, которая проверяет, является ли строка палиндромом. - Палиндром - последовательность символов, одинаково читающаяся в обоих направлениях. - Проверять нужно только на символы алфавита a-zA-Zа-А-я, не учитывать case-sensitive.

Компании, где спрашивали
VKVK

Ответ от нейросети

sobes.tech AI

go package main

import ( "fmt" "unicode" "strings" )

func isPalindrome(s string) bool { var filtered []rune for _, r := range s { if unicode.IsLetter(r) { filtered = append(filtered, unicode.ToLower(r)) } }

// Проверяем палиндром
for i := 0; i < len(filtered)/2; i++ {
	if filtered[i] != filtered[len(filtered)-1-i] {
		return false
	}
}
return true

}

func main() { fmt.Println(isPalindrome("А роза упала на лапу Азора")) // true fmt.Println(isPalindrome("Hello, World!")) // false }


Функция сначала фильтрует строку, оставляя только буквы (латиница и кириллица), приводя их к нижнему регистру, затем проверяет, совпадает ли последовательность с обратной.