import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Main solution = new Main();
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
System.out.println(solution.clean(str));
}
public String clean(String str){
Stack<Character> stack = new Stack<>();
for (int i = 0; i < str.length(); i++){
if (!stack.isEmpty() && str.charAt(i) == stack.peek()){
stack.pop();
} else {
stack.push(str.charAt(i));
}
}
StringBuffer sb = new StringBuffer();
while (!stack.isEmpty()){
sb.append(stack.pop());
}
return sb.length() == 0 ? "0" : sb.reverse().toString();
}
}
该博客主要介绍了一个Java程序,实现将输入字符串通过去除重复字符进行压缩,并将压缩后的字符串进行反转。程序使用栈数据结构,遍历字符串,遇到不重复字符入栈,最后将栈内元素反转并输出。这个过程涉及到了字符串处理、栈操作和字符比较等基本编程概念。
868

被折叠的 条评论
为什么被折叠?



