diff --git a/src/codingquestions/leetcode/RemoveDuplicateFromString.java b/src/codingquestions/leetcode/RemoveDuplicateFromString.java new file mode 100644 index 0000000..d8f4c0d --- /dev/null +++ b/src/codingquestions/leetcode/RemoveDuplicateFromString.java @@ -0,0 +1,40 @@ +import java.util.*; + +class RemoveDuplicateFromString{ + + public static String removeDuplicate(String s, int idx, StringBuilder str, boolean[] map){ + //base case + if(idx == s.length()-1){ + return str.toString(); + } + char ch = s.charAt(idx); + if(map[ch-'a'] == true){ + removeDuplicate(s, idx+1, str, map); + } else { + map[ch-'a'] = true; + removeDuplicate(s, idx+1, str.append(ch), map); + } + return str.toString(); + } + + public static void main(String[] args){ + + String s = "appnacollege"; + //Solution 1 using recursion + System.err.println(removeDuplicate(s, 0, new StringBuilder(""), new boolean[26])); + + + //Solution 2 using Hashset + HashSet ch = new HashSet<>(); + StringBuilder unique = new StringBuilder(); + for(int i=0; i