题解 | #点击消除#

点击消除

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-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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