不保證原有順序:
public static void main(string args)
public static string removedb(string word,int index)
string w = string.valueof(words[index]); //當前比較的字元轉成字串
word=w.concat(word.replaceall(w,"")); //將所有與比較字元w相同的內容去掉,再將比較字元w拼回去
return removedb(word,index+1); //遞迴呼叫,index+1比較下乙個字元。
}
控制台輸出:
去重後:gxzw132strefcdba
保證原有順序,且統計出重複字元的重複數量:
public static void main(string args)
public static char removedb2(char word,int index)
if(word[index]!=' ')}}
if ( num>1 )
system.out.println(word[index]+"的重複數量為:"+(num-1));
}return removedb2(word,index+1); //遞迴呼叫,index+1比較下乙個字元。
}
控制台輸出:
a的重複數量為:5
b的重複數量為:2
d的重複數量為:10
c的重複數量為:1
f的重複數量為:7
e的重複數量為:1
t的重複數量為:1
s的重複數量為:6
2的重複數量為:3
g的重複數量為:1
去重後:abdcferts231wzxg
改善方案,排除已替換為『 』空格串的陣列下標,減少遞迴次數:
public static char removedb2(char word,int index)
for(int i=index;i<=word.length-1;i++)}}
if(num>1)
system.out.println(word[index]+"的重複數量為:"+(num-1));
while(word[++index]==' '&&indexreturn removedb2(word,index);
}
字串去重
字串去重,思路是在乙個字串例如 strstrrtsiiiinnnggggg 中,遍歷所有的字元,拼接到stringbuffer中。在執行速度上來看stringbuffer的拼接速度要快與string。通過str.charat i 的方法得到當前遍歷到的字元。通過indexof方法得到該字元第一次出現...
字串去重
doctype html en utf 8 viewport content width device width,initial scale 1.0 document title head 思路 1.宣告乙個空字元 2.將需要去重字元,乙個乙個新增到空字串中 條件 s裡面沒有這個字元,就加進去 v...
字串右旋 字串去重
1.將n個字元的陣列,迴圈右移k位。時間複雜度o n 實現思路 兩種實現思路 1.借助輔助空間,按照後面的順序進行拷貝,最後拷貝回字串 2.三次反轉法就可實現 include void rotatekth char str,int size,int k 2.附加題 刪除小寫字母字串中重複字元。如果可...