2019-05-09 19:32:54 +08:00
|
|
|
package Others;
|
|
|
|
|
2017-06-27 14:32:37 +08:00
|
|
|
import java.io.BufferedReader;
|
|
|
|
import java.io.InputStreamReader;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Varun Upadhyay (https://github.com/varunu28)
|
|
|
|
*/
|
|
|
|
|
2019-05-09 19:32:54 +08:00
|
|
|
public class RemoveDuplicateFromString {
|
|
|
|
public static void main(String[] args) throws Exception {
|
2017-06-27 14:32:37 +08:00
|
|
|
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
|
2019-05-22 09:37:44 +08:00
|
|
|
String inpStr = br.readLine();
|
2017-06-27 14:32:37 +08:00
|
|
|
|
2019-05-22 09:37:44 +08:00
|
|
|
System.out.println("Actual string is: " + inpStr);
|
|
|
|
System.out.println("String after removing duplicates: " + removeDuplicate(inpStr));
|
2017-06-27 14:32:37 +08:00
|
|
|
|
|
|
|
br.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This method produces a string after removing all the duplicate characters from input string and returns it
|
|
|
|
* Example: Input String - "aabbbccccddddd"
|
2019-05-09 19:32:54 +08:00
|
|
|
* Output String - "abcd"
|
|
|
|
*
|
2017-06-27 14:32:37 +08:00
|
|
|
* @param s String from which duplicate characters have to be removed
|
|
|
|
* @return string with only unique characters
|
|
|
|
*/
|
|
|
|
|
|
|
|
public static String removeDuplicate(String s) {
|
2019-05-09 19:32:54 +08:00
|
|
|
if (s == null || s.isEmpty()) {
|
2017-06-27 14:32:37 +08:00
|
|
|
return s;
|
|
|
|
}
|
|
|
|
|
2019-05-22 09:37:44 +08:00
|
|
|
StringBuilder sb = new StringBuilder();
|
2017-06-27 14:32:37 +08:00
|
|
|
int n = s.length();
|
|
|
|
|
|
|
|
for (int i = 0; i < n; i++) {
|
|
|
|
if (sb.toString().indexOf(s.charAt(i)) == -1) {
|
|
|
|
sb.append(String.valueOf(s.charAt(i)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return sb.toString();
|
|
|
|
}
|
|
|
|
}
|