logo CodeStepByStep logo

countDuplicateStrings

Language/Type: C++ linked lists pointers
Author: Marty Stepp (on 2016/10/24)

Write a function named countDuplicateStrings that accepts a pointer to a ListNodeString representing the front of a linked list of strings. Your function should return the number of duplicates in a sorted list, case-insensitively. Your code should assume that the list's elements will be in case-insensitive sorted order, so that all duplicates will be grouped together. For example, if a variable named front points to the front of the following sequence of values, the call of countDuplicateStrings(front) should return 7 because there are 2 duplicates of "apple", 1 duplicate of "bat", 1 duplicate of "car", 2 duplicates of "dog"and 1 dupe of "fox".

{"apple", "apple", "Apple", "bat", "Bat", "car", "car", "dog", "dog", "dog", "fox", "fox"}

Constraints: Do not construct any new ListNodeString objects in solving this problem (though you may create as many ListNode* pointer variables as you like). Do not use any auxiliary data structures to solve this problem (no array, vector, stack, queue, string, etc). Your function should not modify the linked list's state; the state of the list should remain constant with respect to your function. You should declare the function to indicate this to the caller.

Assume that you are using the ListNodeString structure as defined below:

struct ListNodeString {
    string data;         // value stored in each node
    ListNode* next;      // pointer to next node in list (nullptr if none)
}
Type your C++ solution code here:


This is a function problem. Write a C++ function as described. Do not write a complete program; just the function(s) above.

You must log in before you can solve this problem.


Log In

Need help?

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.

© Marty Stepp, all rights reserved.