Q1.3 Design an algorithm and write code to remove the duplicate characters in a string without using any additional buffer.
NOTE: One or two additional variables are fine. An extra copy of the array is not.
FOLLOW UPWrite the test cases for this method.
For each character, check if it is a duplicate of already found characters
Skip duplicate characters and update the non duplicate characters
public class ccChap1_3 {
public static void main(String[] args){
String str = "TTestBaBa";
System.out.println(str);
System.out.println(removeDupStr(str));
}
public static String removeDupStr(String strr){
char[] str =strr.toCharArray();
if (strr == null) return strr;
int len = str.length;
if (len < 2) return strr;
int tail = 1;
for(int i=1;i<len;++i){
int j;
for (j=0;j<tail;++j){
if (str[i]==str[j]) break;
}
if(j==tail){
str[tail]=str[i];
++tail;
}
}
return new String(str, 0, tail);
}
}