文字列から重複する文字を削除
2539 ワード
- public string distinctChar(string source)
- {
- char[] srcArr = source.ToCharArray();
- // 2048 = 65535/32 + 1
- // (Bit) ,1 ,0 , 0
- int[] fArr = new int[2048];
- int shift;
- string dStr = "";
- for (int i = srcArr.Length - 1; i >= 0; i--)
- {
- shift = 1;
- shift <<= srcArr[i] % 32;
- if (0 == (shift & fArr[srcArr[i] >> 5]))
- {
- dStr+=srcArr[i];
- fArr[srcArr[i] >> 5] += shift;
- }
- }
- return dStr;
- }