Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,970 questions

51,912 answers

573 users

How to recursively check if a number is palindrome in Go

2 Answers

0 votes
package main

import "fmt"

var inverseNumber int

func recursiveCheckPalindrome(n int) bool {
	if n == 0 {
		return false
	}

	inverseNumber = (inverseNumber * 10) + (n % 10)

	recursiveCheckPalindrome(n / 10)

	return n == inverseNumber
}

func main() {
	n := 12321

	if recursiveCheckPalindrome(n) {
		fmt.Println("Palindrome")
	} else {
		fmt.Println("NOT Palindrome")
	}
}


/*
run:

Palindrome

*/

 



answered Oct 17, 2024 by avibootz
0 votes
package main

import (
	"fmt"
	"strconv"
)

func recursivelyCheckPalindrome(n, original int) bool {
	if n == 0 {
		return strconv.Itoa(original) == reverseString(strconv.Itoa(original))
	}

	return recursivelyCheckPalindrome(n / 10, original)
}

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() {
	n := 12321

	if recursivelyCheckPalindrome(n, n) {
		fmt.Println("Palindrome")
	} else {
		fmt.Println("NOT Palindrome")
	}
}


/*
run:

Palindrome

*/

 



answered Oct 17, 2024 by avibootz

Related questions

...