RosettaCodeData/Task/Determine-if-a-string-is-co.../Java/determine-if-a-string-is-co...

31 lines
1.2 KiB
Java

// Title: Determine if a string is collapsible
public class StringCollapsible {
public static void main(String[] args) {
for ( String s : new String[] {
"",
"\"If I were two-faced, would I be wearing this one?\" --- Abraham Lincoln ",
"..1111111111111111111111111111111111111111111111111111111111111117777888",
"I never give 'em hell, I just tell the truth, and they think it's hell. ",
" --- Harry S Truman ",
"122333444455555666666777777788888888999999999",
"The better the 4-wheel drive, the further you'll be from help when ya get stuck!",
"headmistressship"}) {
String result = collapse(s);
System.out.printf("old: %2d <<<%s>>>%nnew: %2d <<<%s>>>%n%n", s.length(), s, result.length(), result);
}
}
private static String collapse(String in) {
StringBuilder sb = new StringBuilder();
for ( int i = 0 ; i < in.length() ; i++ ) {
if ( i == 0 || in.charAt(i-1) != in.charAt(i) ) {
sb.append(in.charAt(i));
}
}
return sb.toString();
}
}