Linked List Exercise (quasi-group)

Write a function Uniquify that removes all duplicate elements from a sorted linked-list. For example, if the list is diagrammed as shown below:
      +----+   +----+  +----+   +----+   +----+  +----+
list->| 3  |-->| 3  |->| 5  |-->| 7  |-->| 7  |->| 7  |-> NULL
      +----+   +----+  +----+   +----+   +----+  +----+
Then the call Uniquify(list) should change the list as shown:
      +----+   +----+  +----+
list->| 3  |-->| 5  |->| 7  |--> NULL
      +----+   +----+  +----+ 

Try to write an iterative as well as a recursive version. Write formal pre- and postconditions.