Middle
Γράψτε μια συνάρτηση που ελέγχει αν μια συμβολοσειρά είναι παλίνδρομο. - Ένας παλίνδρομος είναι μια ακολουθία χαρακτήρων που διαβάζεται το ίδιο και από τις δύο κατευθύνσεις. - Πρέπει να ελέγξετε μόνο τους χαρακτήρες του αλφαβήτου a-zA-Zа-А-я, χωρίς να λαμβάνετε υπόψη το διακριτικό μέγεθος.
sobes.tech AI
Απάντηση από 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 }
Функция сначала фильтрует строку, оставляя только буквы (латиница и кириллица), приводя их к нижнему регистру, затем проверяет, совпадает ли последовательность с обратной.