From ba6c38c00ec9fdee0bb92f495189085d788b882a Mon Sep 17 00:00:00 2001 From: ImAlpha Date: Wed, 30 Aug 2023 09:13:13 -0700 Subject: [PATCH] Answer accepted --- .../125_Valid_Palindrome.py | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/NeetCodeRoadmap/Arrays_and_Hashing/125_Valid_Palindrome.py b/NeetCodeRoadmap/Arrays_and_Hashing/125_Valid_Palindrome.py index e166372..ef6d5ee 100644 --- a/NeetCodeRoadmap/Arrays_and_Hashing/125_Valid_Palindrome.py +++ b/NeetCodeRoadmap/Arrays_and_Hashing/125_Valid_Palindrome.py @@ -23,7 +23,10 @@ def isPalindrome(s): half = len(lower_string)/2 # Round the value down since middle value doesn't matter - halfdown = int(math.floor(half)) + if len(lower_string)%2 != 0: + halfdown = int(math.floor(half)) + else: + halfdown = int(half) # print(halfup) # print(halfdown) first = [] @@ -35,16 +38,22 @@ def isPalindrome(s): # print(lower_string[i]) first.append(lower_string[i]) - for j in range(halfdown+1, len(lower_string)): - second.insert(0, lower_string[j]) + if len(lower_string)%2 != 0: + for j in range(halfdown+1, len(lower_string)): + second.insert(0, lower_string[j]) - # print(first) - # print(second) + else: + for j in range(halfdown, len(lower_string)): + second.insert(0, lower_string[j]) + + print(first) + print(second) if first == second: return True else: return False -# print(isPalindrome("A man, a plan, a canal: Panama")) -# print(isPalindrome("aa")) -print(isPalindrome("0P")) \ No newline at end of file +print(isPalindrome("A man, a plan, a canal: Panama")) +print(isPalindrome("aa")) +print(isPalindrome("0P")) +print(isPalindrome("abba")) \ No newline at end of file