Question
Consider the following recursive method, which is intended to return a String with any consecutive duplicate characters removed. For example, removeDupChars(aabcccd) returns abcd. public static
Consider the following recursive method, which is intended to return a String with any consecutive duplicate characters removed. For example, removeDupChars("aabcccd") returns "abcd".
public static String removeDupChars(String str)
{
if (str == null || str.length() <= 1)
{
return str;
}
else if (str.substring(0, 1).equals(str.substring(1, 2)))
{
return removeDupChars(str.substring(1));
}
else
{
/* missing code */
}
}
Which of the following can replace /* missing code */ so that removeDupChars works as intended?
A. return removeDupChars(str.substring(2));
B. return removeDupChars(str.substring(1)) + str.substring(0, 1);
C. return removeDupChars(str.substring(2)) + str.substring(1, 2);
D. return str.substring(0, 1) + removeDupChars(str.substring(1));
E. return str.substring(1, 2) + removeDupChars(str.substring(2));
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started