zoukankan      html  css  js  c++  java
  • 比较含退格的字符串

    给定 ST 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。

    示例 1:

    输入:S = "ab#c", T = "ad#c"
    输出:true
    解释:S 和 T 都会变成 “ac”。
    

    示例 2:

    输入:S = "ab##", T = "c#d#"
    输出:true
    解释:S 和 T 都会变成 “”。
    

    示例 3:

    输入:S = "a##c", T = "#a#c"
    输出:true
    解释:S 和 T 都会变成 “c”。
    

    示例 4:

    输入:S = "a#c", T = "b"
    输出:false
    解释:S 会变成 “c”,但 T 仍然是 “b”。

    提示:

    1. 1 <= S.length <= 200
    2. 1 <= T.length <= 200
    3. ST 只含有小写字母以及字符 '#'

    class Solution {
        public boolean backspaceCompare(String S, String T) {
            Stack<Character> stack1=new Stack<>();
            Stack<Character> stack2=new Stack<>();
            for(int i=0;i<S.length();i++){
                char ch=S.charAt(i);
                if(ch=='#'){
                    if(!stack1.empty()){
                        stack1.pop();
                    }               
                }
                else{
                    stack1.push(ch);
                }
            }
             for(int i=0;i<T.length();i++){
                char ch=T.charAt(i);
                if(ch=='#'){
                    if(!stack2.empty()){
                        stack2.pop();
                    } 
                }
                else{
                    stack2.push(ch);
                }
            }
            while(!stack1.empty()&&!stack2.empty()){
                if(stack1.pop()!=stack2.pop())return false;
            }
            if(!stack1.empty()||!stack2.empty()){
                return false;
            }
            return true;
        }
    }

  • 相关阅读:
    仿百度排列图片预览插件-Simple Lightbox
    vue2.0移动端自定义性别选择提示框
    微信小程序踩坑记
    网页里如何使用js禁用F12事件
    使用 html2canvas 实现浏览器截图
    h5、jq 移动端评论点攒功能
    js 数字递增特效 仿支付宝我的财富 HTML5
    aos.js超赞页面滚动元素动画jQuery动画库
    简洁AngularJS框架后台管理系统bootstrap后台模板
    Ionic 的 ng-class 在聊天功能上面的巧妙运用
  • 原文地址:https://www.cnblogs.com/yihangZhou/p/9973630.html
Copyright © 2011-2022 走看看