当前位置: 首页> 文旅> 文化 > 辽宁建设工程信息网怎么入库_青岛房产网58同城网_北京网站推广排名_优化大师下载安装app

辽宁建设工程信息网怎么入库_青岛房产网58同城网_北京网站推广排名_优化大师下载安装app

时间:2025/8/29 4:00:52来源:https://blog.csdn.net/YQ20210216/article/details/145596354 浏览次数:0次
辽宁建设工程信息网怎么入库_青岛房产网58同城网_北京网站推广排名_优化大师下载安装app

文章目录

  • 1.题目
  • [844. 比较含退格的字符串](https://leetcode.cn/problems/backspace-string-compare/description/)
  • 2.思路
  • 3.代码


1.题目

844. 比较含退格的字符串

给定 st 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true# 代表退格字符。

**注意:**如果对空文本输入退格字符,文本继续为空。

示例 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 = "b"
**输出:**false
**解释:**s 会变成 "c",但 t 仍然是 "b"。

2.思路

模拟栈

3.代码

class Solution {
public:// 该函数用于比较两个字符串在经过退格处理后是否相等bool backspaceCompare(string s, string t) {// 创建两个栈,分别用于处理字符串 s 和 tstack<char> stack1;stack<char> stack2;// 处理字符串 sfor (int i = 0; i < s.size(); ++i) {// 如果当前字符不是退格符 '#'if (s[i] != '#') {// 将该字符压入栈 stack1 中stack1.push(s[i]);} else {// 如果当前字符是退格符 '#'if (stack1.empty()) {// 若栈为空,说明没有字符可退格,直接跳过本次循环continue;} else {// 若栈不为空,弹出栈顶字符,表示进行退格操作stack1.pop();}}}// 处理字符串 tfor (int i = 0; i < t.size(); ++i) {// 如果当前字符不是退格符 '#'if (t[i] != '#') {// 将该字符压入栈 stack2 中stack2.push(t[i]);} else {// 如果当前字符是退格符 '#'if (stack2.empty()) {// 若栈为空,说明没有字符可退格,直接跳过本次循环continue;} else {// 若栈不为空,弹出栈顶字符,表示进行退格操作stack2.pop();}}}// 将栈 stack1 中的字符依次取出,拼接成字符串 s1string s1 = "";while (!stack1.empty()) {s1 += stack1.top();stack1.pop();}// 将栈 stack2 中的字符依次取出,拼接成字符串 s2string s2 = "";while (!stack2.empty()) {s2 += stack2.top();stack2.pop();}// 比较处理后的两个字符串是否相等if (s1 == s2) {return true;}return false;}
};

关键字:辽宁建设工程信息网怎么入库_青岛房产网58同城网_北京网站推广排名_优化大师下载安装app

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: