99 questions/Solutions/2: Difference between revisions
< 99 questions | Solutions
(copied solution from Editing 99 questions/1 to 10) |
No edit summary |
||
Line 12: | Line 12: | ||
myButLast''' (x:(_:[])) = x | myButLast''' (x:(_:[])) = x | ||
myButLast''' (_:xs) = myButLast''' xs | myButLast''' (_:xs) = myButLast''' xs | ||
myButLast'''' = head . tail . reverse | |||
</haskell> | </haskell> |
Revision as of 14:38, 25 October 2011
(*) 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