题解 | #点击消除#

点击消除

https://www.nowcoder.com/practice/8d3643ec29654cf8908b5cf3a0479fd5

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner ss =new Scanner(System.in);
       String sss= ss.nextLine();
     Main main =new Main();
     System.out.print(main.removeAdjacentDuplicates(sss));

}
  public String removeAdjacentDuplicates(String s) {
    
       Deque<Character> stack = new ArrayDeque<>();
        
       for(char c : s.toCharArray()){
         if(!stack.isEmpty()&&stack.peek()==c){
            stack.pop();
         }
         else{
            stack.push(c);
         }
       }
       if(stack.isEmpty()){
        return "0";
       }
       

        StringBuilder result = new StringBuilder();
        while (!stack.isEmpty()) {
            result.append(stack.pop());
        }
        
        // 因为我们是从栈中弹出,所以需要反转结果
        return result.reverse().toString();
    }
}

全部评论

相关推荐

在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
09-30 15:27
已编辑
成都工业学院 企业文化
Morpheus_:候选人:还需要测验武力值?
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务