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;
        }
    }

  • 相关阅读:
    java---随机点名
    java实现窗体JFrame加载动态图片
    微信小程序--登陆页面
    java基础--随机数 猜数字游戏
    jQuery表单验证
    js获取Id,标签,类的几种选择器封装
    轮播图
    关于mysql安全
    PHP5.4开启zend opcache缓存
    ccs3中icon转换为字体的方法
  • 原文地址:https://www.cnblogs.com/yihangZhou/p/9973630.html
Copyright © 2011-2022 走看看