打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
1047. 删除字符串中的所有相邻重复项

解题思路:

1.遍历字符串,借助辅助栈,如果栈空,则直接入栈

2.如果栈非空,则查看栈顶字符和当前字符是否相等,若不等则将当前遍历到的字符入栈,如果相等,则将栈顶元素弹出

3.字符串遍历结束后,查看当前栈的情况,将栈中元素依次弹出

代码实现:

class Solution {    public String removeDuplicates(String S) {        int len=S.length();        Stack<String> stack=new Stack<>();        for(int i=0;i<len;  i){            if(stack.empty()){//栈空                stack.push(S.charAt(i) "");                continue;            }            //栈非空            //取栈顶的元素与当前元素比较,如果相等,则栈顶元素弹出            //如果不等,则当前元素入栈            else{                String temp=stack.peek();                if(temp.equals(S.charAt(i) "")){                    stack.pop();                }                else{                    stack.push(S.charAt(i) "");                }            }        }        String res="";        while(!stack.empty()){            res=stack.pop() res;        }        return res;    
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
记一次手撕算法面试:字节跳动的面试官把我四连击了
【数据结构与算法】逆波兰表达式、波兰表达式
如何使用栈更好的解决括号匹配问题???
Trie树的分析和理解
609,从先序遍历还原二叉树
C# 栈—— 入栈 出栈 获取栈顶元素 遍历 清空 数量_c#清空栈
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服