Remove Adjacent Duplicates

public class progprac {
public static void main(String[] args) {
String str="abbaca"; // o/p=ca
String res="";
for(int i=0;i<=str.length()-1;i++){
if(!res.contains(String.valueOf(str.charAt(i)))){
res=res+str.charAt(i);
}else{
res=res.replace(String.valueOf(str.charAt(i)),"");
}
}
System.out.println("result="+res);

}

}



 Using stack

import java.util.Stack;

public class progprac {
public static void main(String[] args) {
String str = "abbaca";
Stack<Character> stac = new Stack<>();
char ch[] = str.toCharArray();
for (char c : ch) {
if (!stac.isEmpty() && stac.peek() == c) {
stac.pop();
} else {
stac.push(c);
}
}
String res = "";
for (char ch1 : stac) {
res = res + ch1;
}
System.out.println(res);

}
}


No comments:

Post a Comment

Please comment below to feedback or ask questions.