Middle
Napisz funkcję, która sprawdza, czy ciąg znaków jest palindromem. Palindrom to sekwencja znaków, która czytana od początku do końca i od końca do początku jest taka sama. Sprawdzaj tylko znaki alfabetu a-zA-Za-яА-Я, nie uwzględniaj wielkości liter. Input: "isPalindrome" Output: false <p> Input: "А роза упала на лапу Азора" Output: true <p> Input: "Is_s_d_+_ssi" Output: true
sobes.tech AI
Odpowiedź od AI
package main
import ( "fmt" "unicode" )
func isPalindrome(s string) bool { // Filtrujemy tylko litery i zamieniamy na małe litery var filtered []rune for _, r := range s { if unicode.IsLetter(r) { filtered = append(filtered, unicode.ToLower(r)) } }
// Sprawdzamy, czy to palindrom
n := len(filtered)
for i := 0; i < n/2; i++ {
if filtered[i] != filtered[n-1-i] {
return false
}
}
return true
}
func main() { fmt.Println(isPalindrome("isPalindrome")) // false fmt.Println(isPalindrome("А роза упала на лапу Азора")) // true fmt.Println(isPalindrome("Is_s_d_+_ssi")) // true }