從輸入字元串中刪除相鄰字元的最短遞歸代碼。public class StackOverflow {
static String cleanString(String input) {
return input==null || input.length()<=1?input:cleanStringWrapper(input.substring(1),input.substring(0,1));
}
static String cleanStringWrapper(String input, String result) {
if (input.length() - 1 <= 0) {
return result+(result.charAt(result.length() - 1)!=input.charAt(0)?input:"");
} else {
return cleanStringWrapper(input.substring(1), result+(result.charAt(result.length() - 1)!= input.charAt(0)?input.charAt(0):""));
}
}
public static void main(String[] args)
{
System.out.println(cleanString("OOPS"));
}
}
輸出:
cleanString ("sensssaatiionnaallll") ->" !
cleanString ("ppprooggggraamm") ->"程序"
cleanString ("lletterriiing") ->"lletering"
cleanString ("gooooogle") ->"gogle"
cleanString ("abc") ->"abc""
cleanString ("") ->""
cleanString (""->""
cleanString ( 空 )> 空