From 5f3a6411a1cb25c4a465ba970537022af5b37092 Mon Sep 17 00:00:00 2001 From: Oleg Balunenko Date: Fri, 31 Mar 2023 02:57:28 +0400 Subject: [PATCH] Solve `5. Longest palindromic substring` --- 5-longest-palindromic-substring/solution.go | 6 ++ .../solution_test.go | 60 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 5-longest-palindromic-substring/solution.go create mode 100644 5-longest-palindromic-substring/solution_test.go diff --git a/5-longest-palindromic-substring/solution.go b/5-longest-palindromic-substring/solution.go new file mode 100644 index 0000000..1683015 --- /dev/null +++ b/5-longest-palindromic-substring/solution.go @@ -0,0 +1,6 @@ +package palindromic + +// longestPalindrome returns the longest palindromic substring in s. +func longestPalindrome(s string) string { + return s +} diff --git a/5-longest-palindromic-substring/solution_test.go b/5-longest-palindromic-substring/solution_test.go new file mode 100644 index 0000000..731a34d --- /dev/null +++ b/5-longest-palindromic-substring/solution_test.go @@ -0,0 +1,60 @@ +package palindromic + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +func Test_longestPalindrome(t *testing.T) { + type args struct { + s string + } + tests := []struct { + name string + args args + want string + }{ + { + name: "Example 1", + args: args{ + s: "babad", + }, + want: "bab", + }, + { + name: "Example 2", + args: args{ + s: "cbbd", + }, + want: "bb", + }, + { + name: "Example 3", + args: args{ + s: "a", + }, + want: "a", + }, + { + name: "Example 4", + args: args{ + s: "ac", + }, + want: "a", + }, + { + name: "Example 5", + args: args{ + s: "bb", + }, + want: "bb", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := longestPalindrome(tt.args.s) + + assert.Equal(t, tt.want, got) + }) + } +}