99 questions/Solutions/6

From HaskellWiki
< 99 questions‎ | Solutions
Revision as of 07:29, 17 November 2010 by Tianyicui (talk | contribs)
Jump to navigation Jump to search

(*) Find out whether a list is a palindrome. A palindrome can be read forward or backward; e.g. (x a m a x).

isPalindrome :: (Eq a) => [a] -> Bool
isPalindrome xs = xs == (reverse xs)
isPalindrome' []  = True
isPalindrome' [_] = True
isPalindrome' xs  = (head xs) == (last xs) && (isPalindrome' $ init $ tail xs)