"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Palíndromo verifica uma string

Palíndromo verifica uma string

Publicado em 2024-07-29
Navegar:987

Palindrome check a string

Este é bastante comum. Parece difícil, mas não é tão ruim quando você pensa bem.

Escreva uma função golang para verificar se uma string é um palíndromo.

Um palíndromo é uma sequência de caracteres iguais mesmo quando invertidos, por exemplo:

  • "aba" é um palíndromo

  • "abb não é

  • "ab a" é considerado um palíndromo pela maioria, então ignoramos os espaços em branco.

func PalindromeCheck(str string) bool {
    trimmedStr := strings.ReplaceAll(str, " ", "")
    len := len(trimmedStr)
    chars := []rune(trimmedStr)
    for i := 0; i 



Esta solução é funcionalmente a mesma que você encontrará para C ou Java ao pesquisar online. Estamos essencialmente usando ponteiros duplos para percorrer desde o início e o fim em busca de um caractere incompatível. Quando uma incompatibilidade é encontrada, podemos declarar que a string não é um palíndromo.

Podemos fazer isso melhor?
Existe uma maneira melhor de cortar espaços em branco em vez de usar strings.ReplaceAll? (existe, mas pode ficar feio)
E quanto à eficiência da conversão para uma []runa, existe uma maneira melhor?

Poste seus pensamentos nos comentários.

Obrigado!

O código desta postagem e de todas as postagens desta série podem ser encontrados aqui

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/johnscode/palindrome-check-a-string-3g4c?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3