I'm having trouble understanding why one version of my code takes twice as long as the other. They both person the same function which is to return True
if the number passed in is a palindrome, otherwise return False
. The first version averages about 1.5 seconds to return True
or False
, while the second takes about .75 seconds on average.
1st Version: Uses a comparison:
def isPalindrome(num):
number = str(num)
count = 0
for letter in number:
if letter is number[len(number) - count - 1]:
count += 1
return count == len(number)
2nd version: Uses an else statement:
def isPalindrome(num):
number = str(num)
count = 0
for letter in number:
if letter is number[len(number) - count - 1]:
count += 1
else:
return False
return True