字串去重的方法

2021-09-05 09:36:28 字數 1288 閱讀 9975

不保證原有順序:

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.附加題 刪除小寫字母字串中重複字元。如果可...