Difference between revisions of "99 questions/Solutions/61"

From HaskellWiki
Jump to navigation Jump to search
(categorize)
 
(One intermediate revision by one other user not shown)
Line 6: Line 6:
 
countLeaves Empty = 0
 
countLeaves Empty = 0
 
countLeaves (Branch _ Empty Empty) = 1
 
countLeaves (Branch _ Empty Empty) = 1
countLeaves (Branch _ Empty r) = countLeaves r
 
countLeaves (Branch _ l Empty) = countLeaves l
 
 
countLeaves (Branch _ l r) = countLeaves l + countLeaves r
 
countLeaves (Branch _ l r) = countLeaves l + countLeaves r
 
</haskell>
 
</haskell>
  +
  +
  +
[[Category:Programming exercise spoilers]]

Latest revision as of 13:38, 25 December 2016

Count the leaves of a binary tree

A leaf is a node with no successors. Write a predicate count_leaves/2 to count them.

countLeaves Empty                  = 0
countLeaves (Branch _ Empty Empty) = 1
countLeaves (Branch _ l r)         = countLeaves l + countLeaves r