你可以这样做:
public static String removeDups(String s)
{
if ( s.length() <= 1 ) return s;
if( s.substring(1,2).equals(s.substring(0,1)) ) return removeDups(s.substring(1));
else return s.substring(0,1) + removeDups(s.substring(1));
}
INPUT: "AAAABBARRRCC"
OUTPUT: "ABARC"
===============
编辑:另一种方式
public static String removeDups(String s)
{
if ( s.length() <= 1 ) return s;
if( s.substring(1).contains(s.substring(0,1)) ) return removeDups(s.substring(1));
else return s.substring(0,1) + removeDups(s.substring(1));
}
INPUT: "AAAABBARRRCC"
OUTPUT: "BARC"
==============
编辑:第三种方式
public static String removeDups(String s)
{
if ( s.length() <= 1 ) return s;
if( s.substring(0,s.length()-1).contains(s.substring(s.length()-1,s.length())) ) return removeDups(s.substring(0,s.length()-1));
else return removeDups(s.substring(0,s.length()-1)) + s.substring(s.length()-1,s.length());
}
INPUT: "AAAABBARRRCC"
OUTPUT: "ABRC"