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

Day10 | 用栈实现队列、用队列实现栈、有效的括号、删除字符串中的所有相邻重复项

用栈实现队列

[https://programmercarl.com/0232.用栈实现队列.html]


解法

class MyQueue {
private:stack<int> in;stack<int> out;void i2o(){while(!in.empty()){out.push(in.top());in.pop();}}
public:MyQueue() {}void push(int x) {in.push(x);}int pop() {if(out.empty()){i2o();}int num = out.top();out.pop();return num;}int peek() {if(out.empty()){i2o();}return out.top();}bool empty() {if(in.empty() && out.empty()) return true;return false;}
};

用队列实现栈

[https://programmercarl.com/0225.用队列实现栈.html#算法公开课]


解法

class MyStack {
private:queue<int> q;
public:MyStack() {}void push(int x) {q.push(x);}int pop() {int num = q.size();int n;int i = 0;while(i != num - 1){n = q.front();q.pop();q.push(n);i++;}n = q.front();q.pop();return n;}int top() {int num = q.size();int n;int i = 0;while(i < num - 1){n = q.front();q.pop();q.push(n);i++;}n = q.front();q.pop();q.push(n);return n;}bool empty() {if(q.empty()) return true;return false;}
};

有效的括号

[https://programmercarl.com/0020.有效的括号.html#算法公开课]

解法

class Solution {
public:bool isValid(string s) {stack<char> st;for(auto &p : s){if(is_left(p)){st.push(p);}else{if(st.empty() || !is_match(p,st.top())){return false;}else{st.pop();}}}if(st.empty()){return true;}else{return false;}}bool is_left(char p){if(p == '(' || p == '[' || p == '{'){return true;}else{return false;}}bool is_match(char p,char t){if(t == '(' && p == ')'){return true;}else if(t == '[' && p == ']'){return true;}else if(t == '{' && p == '}'){return true;}else{return false;}}
};

删除字符串中的所有相邻重复项

[https://programmercarl.com/1047.删除字符串中的所有相邻重复项.html]


解法

class Solution {
public:string removeDuplicates(string s) {stack<char> st;for(char &p : s){if(st.empty()) st.push(p);else{if(p == st.top()){st.pop();}else{st.push(p);}}}string res;while(!st.empty()){res.push_back(st.top());st.pop();}reverse(res.begin(),res.end());return res;}
};
http://www.jsqmd.com/news/482292/

相关文章:

  • 3.12笔记
  • 华为CE6800交换机堆叠配置案例
  • 【AI总结博客】编码者卢布 技术博客深度分析 ---- 借助腾讯WorkBuddy得出的分析结果
  • 调试线程应用程序
  • 5. 最长回文子串
  • L2-025 分而治之
  • 1143. 最长公共子序列
  • 直租累、中介烦、托管香?房东出租模式“痛点热力图”实测
  • 【JAVA基础08】—— 关系运算符与逻辑运算符详解(附面试例题)
  • 6类宠物皮肤病目标检测数据集分享 | 宠物医疗(适用于YOLO系列深度学习检测任务)
  • MySQL 1045 登录失败,账号密码错误处理
  • 网站提示 403 Forbidden 是什么原因?怎么修
  • 交往理性:2001-2026——从对话伦理到自感伦理的思想谱系
  • 2026建网站一般需要多少钱?
  • 打开网站显示跳转不生效,仍可访问HTTP错误怎么办|已解决
  • 低代码/无代码的真相:是程序员的“终结者”,还是“超级外挂”?
  • 网站访问慢、卡半天,PHP 环境优化步骤
  • 奇葩编程赛极限救场:C++两行神操作,填平两次手滑大坑!
  • 基于 immich-go 的相册备份和 rename 脚本
  • 打开网站显示页面加载缓慢?错误怎么办|已解决
  • 宝塔面板网站迁移,从 A 服务器到 B 服务器
  • 香河婚介所的标尺与星光:一位IT工程师的平凡婚姻
  • 2026/3/15
  • 生物信息学常用编程语言选型:Python、R、Perl、Julia的应用场景与生态对比
  • 交易数据异常检测:大数据环境下的解决方案
  • 3月12日笔记
  • 基于烟花算法(FWA)及三次样条的机器人路径规划,50个场景任意选择附Matlab代码
  • 基于小波多尺度同步压缩变换WMSST结合MCNN多尺度卷积神经网络的故障诊断研究附Matlab代码
  • 2026年论文AI率92%怎么办?3招实测降到5%以下 - 还在做实验的师兄
  • 嘎嘎降AI怎么用?从注册到出结果手把手教你全流程 - 还在做实验的师兄