《LeetCode力扣练习》代码随想录——栈与队列(删除字符串中的所有相邻重复项---Java)

《LeetCode力扣练习》代码随想录——栈与队列(删除字符串中的所有相邻重复项—Java)



刷题思路来源于 代码随想录

1047. 删除字符串中的所有相邻重复项
  • class Solution {
        public String removeDuplicates(String s) {
    
            if(s.length()==1){
                return s;
            }
    
            char[] chs=s.toCharArray();
            Stack<Character> stack=new Stack<>();
    
            for(int i=0;i<chs.length;i++){
    
                if(stack.empty()||stack.peek()!=chs[i]){
                    stack.push(chs[i]);
                }else{
                    stack.pop();
                }
    
            }
    
            char[] result=new char[stack.size()];
            for(int i=stack.size()-1;i>=0;i--){
                result[i]=stack.pop();
            }
    
            return new String(result);
    
        }
    }
    

你可能感兴趣的:(LeetCode,leetcode,java,算法)