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
    hadoop MapReduce Yarn运行机制
    在eclipse上开发hadoop2.5.2程序的快捷方法
    eclipse快捷键
    HDFS原理介绍
    Java异常
    hadoop初识
    操作系统学习---进程管理(二)
    操作系统学习---进程管理(一)
    操作系统学习---虚拟内存
  • 原文地址:https://www.cnblogs.com/yihangZhou/p/9973630.html
Copyright © 2011-2022 走看看