2016-01-11 42 views

回答

1

有一個簡單的方法來做到這一點 - 但是因爲我沒有看到任何代碼,而且我也沒有看到你方面的任何努力,所以我不會給你答案。以下是您可以嘗試尋找正確答案的一些psudo代碼。祝你好運!

currentChar = myString.charAt(0); 
i = 0; 
print current character //as per comments, cover the base case 
while(string has more characters) 
    if current character != next character 
     print next character 
    i++ 
+0

我喜歡你的無代碼的方法,但有一個問題,「打印下一個字符」。這個解決方案如何處理像'abc'這樣的字符串,因爲它看起來只有'b'和'c'會被打印出來。 – Pshemo

+0

啊 - 說得好。我會更新這一點。 – Sh4d0wsPlyr

0

使用正則表達式來與單個字符替換所有重複字符:

"SSSAAADDDCCC".replaceAll("(.)\\1+", "$1") // returns "SADC" 

(.)比賽和捕獲一個字符。
\\1+匹配捕獲到的字符的一個或多個實例。
$1用捕獲的字符替換整個匹配值。

非重複字符不匹配,因此單獨留下。

0

如果你不喜歡,你可以使用子像這樣的charAt方法:

int j=0; 
String in="sssdddaaaccc"; 
String out=""; 
for(int i=0;i<4;i++) 
{ 
    out=out+in.subString(j,j+1); 
    for(j=j; j<3;j++); 
} 
System.out.println(out);