How to check whether a sentence is palindrome in Go

1 Answer

0 votes
package main

import (
	"fmt"
	"regexp"
	"strings"
)

func isSentencePalindrome(str string) bool {
	// Change the string into lowercase and remove all non-alphanumeric characters
	re := regexp.MustCompile("[^a-zA-Z0-9]")
	str = strings.ToLower(re.ReplaceAllString(str, ""))

	// Reverse the string
	reversed := reverseString(str)

	return str == reversed
}

func reverseString(s string) string {
	runes := []rune(s)

	for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
		runes[i], runes[j] = runes[j], runes[i]
	}

	return string(runes)
}

func main() {
	if isSentencePalindrome("Top step's pup's pet spot.") {
		fmt.Println("yes")
	} else {
		fmt.Println("no")
	}
}



/*
run:

yes

*/

 



answered Aug 23, 2024 by avibootz
...