1. 程式人生 > >字串去除重複字元(重複字元不保留)

字串去除重複字元(重複字元不保留)

/**      * 去除重複字元(重複字元不保留)      * @param s 原始字串      * @return 去重後的字串      */     public static String remove(String s){         //字串拆分陣列         char [] ss = s.toCharArray();         //識別符號(是否繼續判斷是否有重複)         boolean flag = false;         //接收去重後的字元         StringBuffer sb = new StringBuffer();         //開始判斷         do {             //每次開始迴圈之前重置標識為false             flag = false;             //清空接收字串             sb = new StringBuffer();             //標識(是否有重複字元)             boolean n = false;             //迴圈查詢重複字元             for (int i = 0; i < ss.length; i++) {                 //存在重複字元                 while (i < ss.length - 1 && ss[i] == ss[i+1] ) {                     //下標+1                     i++;                     //本次迴圈結束後繼續進行下次迴圈判斷重複字元                     flag = true;                     //存在重複字元                     n = true;                 }                 //存在重複字元                 if(n){                     //重複字元後一位開始                     i++;                     //重置標識                     n = false;                 }                 //拼接去重字元                 sb.append(ss[i]);             }             //陣列重新賦值             ss = sb.toString().toCharArray();         } while (flag);                  return sb.toString();              }