99 questions/Solutions/2

From HaskellWiki
< 99 questions‎ | Solutions
Revision as of 07:32, 15 November 2014 by Bitemyapp (talk | contribs) (Don't tell new people to write partial functions, come on.)

Jump to: navigation, search

(*) Find the last but one element of a list.

myButLast :: [a] -> a
myButLast = last . init

myButLast' x = reverse x !! 1

myButLast'' [x,_]  = x
myButLast'' (_:xs) = myButLast'' xs

myButLast''' (x:(_:[])) = x
myButLast''' (_:xs) = myButLast''' xs

myButLast'''' = head . tail . reverse