removeAdjacentMatches
Category: ArrayList
Author: Stuart Reges
Book Chapter: 10.1
Problem: removeAdjacentMatches
Write a static method called removeAdjacentMatches
that removes extra copies of a value that are adjacent to it in an ArrayList
of integers. For example, if a variable called list contains the following:
[1, 3, 3, 15, 2, 2, 2, 2, 1, 19, 3, 42, 42, 42, 7, 42, 1]
and we make the following call:
removeAdjacentMatches(list);
Then list should store the following values after the call:
[1, 3, 15, 2, 1, 19, 3, 42, 7, 42, 1]
Notice that the two occurrences of 3 that appear next to each other have
been replaced with a single occurrence of 3, the four occurrences of 2 that
appear next to each other have been replaced with a single 2, and the three
occurrences of 42 that appear next to each other have been replaced with a
single 42. Notice, however, that the list still contains three occurrences
of 1, two occurrences of 3, and two occurrences of 42. That is because
those duplicate values do not appear right next to each other in the list.
You may not construct any extra data structures to solve this problem. You
must solve it by manipulating the ArrayList you are passed as a parameter.