# recursion – Recursive Function palindrome in Python

## recursion – Recursive Function palindrome in Python

```
def ispalindrome(word):
if len(word) < 2: return True
if word[0] != word[-1]: return False
return ispalindrome(word[1:-1])
```

And here is the best one liner

```
def ispalindrome(word):
return word == word[::-1]
```

From a general algorithm perspective, the recursive function has 3 cases:

1) **0 items left**. Item is a palindrome, by identity.

2) **1 item left**. Item is a palindrome, by identity.

3) **2 or more items**. Remove first and last item. Compare. If they are the same, call function on whats left of string. If first and last are not the same, item is not a palindrome.

The implementation of the function itself is left as an exercise to the reader ðŸ™‚

#### recursion – Recursive Function palindrome in Python

If a string is zero or one letters long, its a palindrome.

If a string has the first and last letters the same, and the remaining letters (I think its a `[1: -1]`

slice in Python, but my Python is a bit rusty) are a palindrome, its a palindrome.

Now, write that as a palindrome function that takes a string. It will call itself.