Add simple version
[?]
Nov 30, 2020, 9:04 PM
ZQFONDI4BKCOY3OT4FRASFDRLRVMXHGPBTAJ62CGRVFSNGPEKWJQCDependencies
- [2]
MCHVA5DYPalindrome initial import - [3]
AUM6AXH7It is enough to check only half of the string because of symmetry
Change contents
- replacement in snippets/palindrome/palindrome.go at line 14
var str stringif len(scanner.Text()) > 2 {str = palindrome(scanner.Text())}if len(str) > 2 {fmt.Println(str)if len(scanner.Text()) > 3 {fmt.Println(Palindrome(scanner.Text()))} else {fmt.Println("Input string too short") - replacement in snippets/palindrome/palindrome.go at line 26
func palindrome(str string) string {// Single thread versionfunc palindrome_single(str string) string {longest := ""for k := 0; k < len(str)/2+1; k++ {candidate := string(str[k])for i := 1; true; i++ {// avoid overrun or underrunif (k-i < 0) || (k+i > len(str)-1) {break}// two identical bytesif str[k-i] == str[k+i] {candidate = string(str[k-i]) + candidate + string(str[k+i])} else {break}}if len(candidate) > len(longest) {longest = candidate}}return longest}// Returns the longest palindrome in str// Concurrent versionfunc Palindrome(str string) string {