当前位置: 首页 > news >正文

力扣-哈希表-844 比较含退格的字符串

思路和时间复杂度

  1. 思路:利用栈完成出栈操作
  2. 时间复杂度: O(n)      

代码

class Solution {
public:
    bool backspaceCompare(string s, string t) {
        stack<char> ss;
        stack<char> tt;

        for(int i = 0; i < s.size(); i++){
            if(s[i] != '#'){
                ss.push(s[i]);
            }else{
                if(!ss.empty()){
                    ss.pop();
                }
            }
        }

        for(int i = 0; i < t.size(); i++){
            if(t[i] != '#'){
                tt.push(t[i]);
            }else{
                if(!tt.empty()){
                    tt.pop();
                }
            }
        }

        if(ss.size() != tt.size()) return false;
        while(!ss.empty() && !tt.empty()){
            if(ss.top() != tt.top()){
                return false;
            }
            ss.pop();
            tt.pop();
        }

        return true;
    }
};

http://www.dtcms.com/a/65507.html

相关文章:

  • 理解C语言中的extern关键字
  • 【机器人-基础知识】欧拉角、旋转矩阵和四元数
  • python爬虫碰到IP被封的情况,如何解决?
  • 【Rust并发编程深度解析:内存模型与异步运行时实现原理】
  • JavaScript API与WebRTC技术解析:EasyRTC嵌入式视频通话SDK的实现
  • vue3:密码加密解密实现
  • pdf合并工具
  • OpenGL(4)着色器
  • LearnOpenGL-笔记-其三
  • 文件跨国传输如何加速?UDP改造机制解析
  • vscode出现:No module named ‘requests‘ 问题的解决方法
  • 【AI】单台10卡4090 openEuler服务器离线部署kasm workspace 提供简单的GPU云服务 虚拟化桌面
  • 每天一篇《目标检测》文献(一)
  • Android Compose remember 详解
  • docker jar镜像打包
  • windows平台的ffmpeg编译使用
  • 国产化信创操作系统的电脑,能运行windows程序吗
  • 大三下找C++开发实习的感受分享
  • tomcat应用的作用以及安装,以及tomcat软件的开机自启动。
  • c语言笔记 堆内存管理
  • 【已解决】linux装了jdk,却无法使用java命令
  • 【RabbitMQ】Spring Boot 结合 RabbitMQ 完成应用间的通信
  • DAY33 贪心算法Ⅱ
  • onlyoffice 8.1.0 社区版去除20连接限制版(添加常用中文字体,解锁手机编辑连接器,包含ARM64)
  • kafka-docker版
  • 2Android中的AIDL是什么以及如何使用它
  • linux 命令基础
  • OpenBMC:BmcWeb 处理认证
  • LangChain 是什么
  • 代码块与设计模式