// P06 (*) Find out whether a list is a palindrome.
// Example:
// scala> isPalindrome(List(1, 2, 3, 2, 1))
// res0: Boolean = true
object P06 {
// In theory, we could be slightly more efficient than this. This approach
// traverses the list twice: once to reverse it, and once to check equality.
// Technically, we only need to check the first half of the list for equality
// with the first half of the reversed list. The code to do that more
// efficiently than this implementation is much more complicated, so we'll
// leave things with this clear and concise implementation.
def isPalindrome[A](ls: List[A]): Boolean = ls == ls.reverse
}