Sobes.tech
Middle

Напишете функция, която проверява дали даден низ е палиндром. Палиндром е последователност от символи, която се чете еднакво и от двете страни. Проверявайте само за символи от азбуката a-zA-Za-яА-Я, без да вземате предвид големината на буквите. Вход: "isPalindrome" Изход: false <p> Вход: "А роза упала на лапу Азора" Изход: true <p> Вход: "Is_s_d_+_ssi" Изход: true

sobes.tech AI

Отговор от AI

package main

import ( "fmt" "unicode" )

func isPalindrome(s string) bool { // Филтрираме само букви и ги преобразуваме в малки var filtered []rune for _, r := range s { if unicode.IsLetter(r) { filtered = append(filtered, unicode.ToLower(r)) } }

// Проверяваме дали е палиндром
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 }