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

个人网站设计风格东莞人才市场招聘官网

个人网站设计风格,东莞人才市场招聘官网,赣州金图网络科技有限公司,织梦网站地图每日一题(LeetCode)----数组–移除元素(四) 1.题目([844. 比较含退格的字符串](https://leetcode.cn/problems/sqrtx/)) 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等&…

每日一题(LeetCode)----数组–移除元素(四)

1.题目([844. 比较含退格的字符串](https://leetcode.cn/problems/sqrtx/))

给定 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"。

提示:

  • 1 <= s.length, t.length <= 200
  • st 只含有小写字母以及字符 '#'

进阶:

  • 你可以用 O(n) 的时间复杂度和 O(1) 的空间复杂度解决该问题吗?

2.解题思路

思路一: 重构字符串(单指针)

1.先将两个字符串中的退格字符和应该被删除的字符去除掉

我们用一个变量来存已经遍历到的退格字符的数量

然后我们从后向前遍历这两个字符串

如果遍历到的是退格字符,那么删除退格字符,然后记录已经遍历到退格字符的数量的变量进行加一操作

如果遍历到的是字符,那我们看记录已经遍历到退格字符的数量的变量是否大于0

如果大于0删除当前遍历到的字符,记录已经遍历到退格字符的数量的变量进行减一操作

如果小于0,那么不进行操作,进行向前遍历

2.然后将两个字符串进行比较

思路二: 重构字符串(栈)

最容易想到的方法是将给定的字符串中的退格符和应当被删除的字符都去除,还原给定字符串的一般形式。然后直接比较两字符串是否相等即可。

具体地,我们用栈处理遍历过程,每次我们遍历到一个字符:

如果它是退格符,那么我们将栈顶弹出;

如果它是普通字符,那么我们将其压入栈中。

原作者:力扣官方题解
链接:https://leetcode.cn/problems/backspace-string-compare/

3.写出代码

思路一的代码:

class Solution {
public:bool backspaceCompare(string s, string t) {int length1 = s.size();int length2 = t.size();int sum1 = 0;int sum2 = 0;for (int i = length1 - 1; i >= 0; i--) {if (s.size() == 0) {break;}if (s[i] == '#') {s.erase(i, 1);sum1++;}else {if (sum1 > 0) {s.erase(i, 1);sum1--;}}}for (int i = length2 - 1; i >= 0; i--) {if (t.size() == 0) {break;}if (t[i] == '#') {t.erase(i, 1);sum2++;}else {if (sum2 > 0) {t.erase(i, 1);sum2--;}}}//进行比较if (s == t) {return true;}else {return false;}}
};

思路二的代码:

class Solution {
public:bool backspaceCompare(string S, string T) {return build(S) == build(T);}string build(string str) {string ret;for (char ch : str) {if (ch != '#') {ret.push_back(ch);} else if (!ret.empty()) {ret.pop_back();}}return ret;}
};
原作者:力扣官方题解
链接:https://leetcode.cn/problems/backspace-string-compare/
http://www.yayakq.cn/news/387323/

相关文章:

  • 做粤菜的视频网站做网站报价
  • 网站属性设置企业网站的优点
  • 做系统网站信息检索网站淘宝店铺怎么运营
  • 网站页面设计风格微信引流神器手机电影网站怎么做
  • 乐清定制网站建设wordpress子主题数量
  • 手表查询网站文安网站建设
  • 化妆品 网站模板装企erp管理系统
  • 江西建网站如何制作一个二维码
  • wordpress手机图片站wordpress首页文章列表只显示摘要
  • 义乌网站建设微信开发儿童 网站 设计
  • 上海企业制作网站wordpress4.9.4 模版修改
  • wordpress 4.9.5北京关键词优化
  • 如何用wordpress做网站金泉网站建设开发
  • 网站代码组件柯桥建设局网站首页
  • 廊坊外贸网站建设广西长长路桥建设有限公司网站
  • 环保部网站官网建设项目审批做个购物网站多少钱
  • 网站建站策划建设银行网站用户名怎么查
  • ppt网站超链接怎么做有了自己的网站怎么赚钱
  • 郑州做网站建设公司哪家好wordpress会员注册怎样更改
  • 鲜花拍卖网站建设市场分析互联网营销的优势
  • 柳市网站设计推广关于建设学校网站策划书的范本
  • 重庆 网站 建设微信小程序可以做电影网站吗
  • 开周边网站怎么做品牌网站栏目模块
  • 建设主管部门门户网站免费一键网站
  • 没有数据怎么做网站淄博网站备案公司
  • 大气精美网站设计工作室织梦模板(附赠精美织梦后台模板)盘锦网站建设平台
  • 辞职做网站视频模板免费制作
  • 网站排名易下拉排名wordpress+去掉阅读
  • 网站建设与管理的体会安徽省建设工程信息网官网首页
  • 企业网站建设如何去规划怎么查网站建设是哪家公司