Write a method countDuplicates
that returns the number of duplicates in a sorted list.
The list will be in sorted order, so all of the duplicates will be grouped together.
For example, if a variable list
stores the sequence of values below, the call of list.countDuplicates()
should return 7
because there are 2 duplicates of A, 1 duplicate of B, 1 duplicate of K, 2 duplicates of W and 1 duplicate of Z:
[A, A, A, B, B, E, G, K, K, W, W, W, Z, Z]
Remember that you may assume that the list is in sorted order, so any duplicates would occur consecutively.
You may assume that no element in the list is null
.
The example shown is a list of strings, but this is a generic linked list class that can store any type of objects.
You should take this into account in your code.
Assume that you are adding this method to the LinkedList<E>
class as defined below:
public class LinkedList<E> {
private ListNode front; // null for an empty list
...
}