99 questions/Solutions/2: Difference between revisions
< 99 questions | Solutions
m (Add description to foldl solution.) |
m (Don't tell new people to write partial functions, come on.) |
||
Line 14: | Line 14: | ||
myButLast'''' = head . tail . reverse | myButLast'''' = head . tail . reverse | ||
</haskell> | </haskell> | ||
[[Category:Programming exercise spoilers]] | [[Category:Programming exercise spoilers]] |
Revision as of 07:32, 15 November 2014
(*) 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