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

虚拟主机网站wordpress 删除 加载中

虚拟主机网站,wordpress 删除 加载中,网站建设喀什,上传到网站空间题目 844. 比较含退格的字符串 - 力扣(LeetCode) 思路 这道题是比较含退格的字符串,我看到题目后的第一反应是需要先处理退格符号,然后再比较两个字符串是否相等。 我的思路是: 分别处理两个字符串,将…

题目

844. 比较含退格的字符串 - 力扣(LeetCode)

思路

这道题是比较含退格的字符串,我看到题目后的第一反应是需要先处理退格符号,然后再比较两个字符串是否相等。

我的思路是:

  1. 分别处理两个字符串,将它们转换成删除了退格符号后的实际文本
  2. 然后比较这两个处理后的字符串是否相等

对于处理退格符号,我想到了两种方法:

第一种是使用栈。遍历字符串,遇到普通字符就入栈,遇到'#'就弹出栈顶元素(如果栈不为空)。最后栈中剩下的字符就是最终的字符串。这种方法时间和空间复杂度都是O(n)。

第二种是直接在字符串上操作。维护一个指针表示当前有效字符串的结束位置,遍历原字符串,遇到普通字符就将其放到指针位置并将指针后移,遇到'#'就将指针前移(如果可能的话)。最后指针前的子串就是最终的字符串。这种方法的空间复杂度可以优化到O(1)。

举个例子,对于示例1中的s = "ab#c":

  • 遍历到'a',加入结果,结果变成"a"
  • 遍历到'b',加入结果,结果变成"ab"
  • 遍历到'#',删除上一个字符,结果变成"a"
  • 遍历到'c',加入结果,结果变成"ac"

同样处理t = "ad#c":

  • 最终结果也是"ac"

所以两个字符串相等,返回true。

在实际中,我会先实现第一种栈的方法,因为它更直观。如果要求优化空间复杂度,我再提出第二种方法。

还有一种更高级的解法是使用双指针从后向前遍历两个字符串,这样可以同时实现O(n)的时间复杂度和O(1)的空间复杂度。

读者可能出现的错误写法

class Solution {
public:bool backspaceCompare(string s, string t) {string one = result(s);string two = result(t);return s==t;}string result(string str){string st;for(int i =0;i<str.size();i++){if(st.empty() || str[i]!='#'){st.push_back(str[i]);}else{st.pop_back();}}return st;}
};

第一个错误是在backspaceCompare函数中,你在比较时使用了原始的字符串s和t,而不是处理后的字符串one和two。应该改为:return one == two;

第二个错误是在result函数中,当遇到'#'字符时的逻辑有问题。当前的代码是:

if(st.empty() || str[i]!='#')
{st.push_back(str[i]);
}
else
{st.pop_back();
}

这个逻辑会导致:

  • 如果st为空或当前字符不是'#',就将当前字符加入结果
  • 否则,弹出结果中的最后一个字符

问题在于,当st为空时,即使当前字符是'#',也会将'#'加入结果,这是不正确的。退格符应该删除前一个字符,如果没有前一个字符,就忽略这个退格符。

正确写法

class Solution {
public:bool backspaceCompare(string s, string t) {string one = result(s);string two = result(t);return one==two;}string result(string str){string st;for(int i =0;i<str.size();i++){if(str[i]!='#'){st.push_back(str[i]);}else if(!st.empty()){st.pop_back();}}return st;}
};
http://www.dtcms.com/a/397668.html

相关文章:

  • 江苏网站建设空间甘肃兰州事件
  • 遵义本地网站建一个网站的技术解决方案
  • 网站建设需要什么专业张家口外贸网站建设
  • 电子商务网站建设与管理是什么最新网上注册公司流程
  • 做网站需要哪些知识北京美的网站
  • 青岛企业网站设计制作重庆网站搭建哪里可以做
  • 找别人做的网站怎样修改网站商城的意义
  • 做一个自己的免费网站电商运营方案计划书
  • 网站版权备案各种浏览器大全
  • 部队网站源码上海市住房和城乡建设部官方网站
  • 好网站目录下载并安装app
  • 租服务器去哪里租哈尔滨网站优化如何
  • 公文写作网站四川建设人才培训网站
  • 廊坊市建设银行网站成都百度推广公司联系方式
  • 我会编程怎么做网站网络推广
  • qq自动发货平台网站怎么做住房城乡建设网站藁城
  • php商城网站开发实例视频火车头wordpress教程
  • 科技 响应式网站模板阿里云企航域名购买方式
  • 本地生活网站 源码中国建设集团门户网站
  • 湖南医院响应式网站建设企业沙坪坝网站建设
  • 提供网站建设工具wordpress使用自己主页
  • 织梦制作手机网站智加设计
  • 海尔电子商务网站建设网络营销案例事件
  • 做网站月收入多少全搜网
  • 做网站加手机app需要多少钱asp.net 如何设置网站首页
  • 网站icp备案信息有没有catia做幕墙的网站
  • 汕头网站建设制作公司花都区pc端网站建设
  • 青岛手机网站建设电话佛山建设企业网站
  • 越秀网站建设策划淘宝网网页
  • 网站标准尺寸哪些网站有友情链接