首页 > 其他分享 >844.比较含退格的字符串

844.比较含退格的字符串

时间:2024-10-08 23:46:41浏览次数:10  
标签:844 return -- else skipS while skipT 字符串 退格

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

思路:首先要知道这个#的意思是可以将前面一个数清空,(当时 我以为是将前面一串清空。。。看了半天),由于 # 号只会消除左边的一个字符,所以对右边的字符无影响,所以我们选择从后往前遍历 S,T 字符串,以skipS和T去记录,可以清空前面的数,实际上也是在两个数组中移动,用了双指针算法

图示:

代码:

class Solution {
public:
    bool backspaceCompare(string S, string T) {
       int i = S.length()-1,j = T.length()-1;
       int skipS = 0,skipT = 0;
       while(i >= 0 || j >= 0)
       {
          while(i >= 0)
          {
             if(S[i] == '#')
             skipS++,i--;
             else if(skipS > 0)
             skipS--,i--;
             else break;
          }
           while(j >= 0)
          {
            if(T[j] == '#')
             skipT++,j--;
             else if(skipT > 0)
             skipT--,j--;
             else break;
          }
          if( i>=0 && j>=0 ){
            if(S[i]!=T[j])
            return false;
          }
          else
          {
            if(i>=0 || j>=0)
            return false;
          }
          i--,j--;
       }
    return true;
    }
};

标签:844,return,--,else,skipS,while,skipT,字符串,退格
From: https://blog.csdn.net/zengxuan151168/article/details/142772124

相关文章

  • 代码随想录算法训练营day9|●151.翻转字符串里的单词 ●卡码网:55.右旋转字符串 ●28.
    学习资料:https://programmercarl.com/0151.翻转字符串里的单词.html学习记录:151.翻转字符串里的单词(感觉C语言能考虑巧妙解法,而python直接搞就对了)c语言:把字符串整体反转,再用双指针法(slow,fast)依次翻转每一个单词,关键在于如何移除多余空格,用slow指针找到要替换到的位置,用fast......
  • 三.字符串的使用与符号之一
    七.字符串的符号7.1_字符串声明一对单引号/一对双引号/一对三个单引号/一对三个双引号a='测试'b="ces"c='''hello'''d="""你好!"""print(a,b,c,d)7.2_字符串引号包裹原则外单内双,外双内单w='say:"我是字符串,多个引号包裹!"'7.......
  • Python 字符串基础知识
    字符串是计算机编程中非常重要的数据类型。在Python中,字符串是一系列字符的集合,可以包含字母、数字、符号和空格。Python提供了强大的字符串处理功能,使得操作字符串变得简单而直观。本文将深入探讨Python字符串的基本知识,包括字符串的创建、操作、常用方法以及字符串格式......
  • Python字符串打印格式
    一、旧式字符串格式化(%格式)在Python中,最早的字符串格式化方法是使用百分号(%)操作符。这种方式可以追溯到C语言,因此对于习惯于C语言的程序员来说是比较熟悉的。1.基本用法基本语法如下:name="Alice"age=30print("Mynameis%sandIam%dyearsold."%(name,age)......
  • 代码随想录算法训练营第八天| 151.翻转字符串里的单词
    151.翻转字符串里的单词文章链接:https://programmercarl.com/0151.翻转字符串里的单词.html#思路视频链接:https://www.bilibili.com/video/BV1uT41177fX/?vd_source=6cb513d59bf1f73f86d4225e9803d47b题目链接:https://leetcode.cn/problems/reverse-words-in-a-string/classS......
  • Python 高级编程:深入探索字符串切片
    在Python中,字符串切片是一种强大的操作,它允许我们从字符串中提取特定的部分。以下是关于Python字符串切片的高级教学: 基本的字符串切片string = "Hello, World!"# 提取从索引 7 到索引 11 的子串(不包括索引 11)substring = string[7:11]print(substring)......
  • leetcode926. 将字符串翻转到单调递增
    如果一个二进制字符串,是以一些 0(可能没有 0)后面跟着一些 1(也可能没有 1)的形式组成的,那么该字符串是 单调递增 的。给你一个二进制字符串 s,你可以将任何 0 翻转为 1 或者将 1 翻转为 0 。返回使 s 单调递增的最小翻转次数。示例1:输入:s="00110"输出:1......
  • 代码随想录算法训练营day8|344.反转字符串 ● 541. 反转字符串II ● 卡码网:54.替换数
    学习资料:https://programmercarl.com/0344.反转字符串.html#算法公开课在python中字符串不可变,所以要增加空间lst=list(str)344.反转字符串(reverse库函数的基本代码)点击查看代码classSolution(object):defreverseString(self,s):""":types:List......
  • 信息学奥赛复赛复习14-CSP-J2021-03网络连接-字符串处理、数据类型溢出、数据结构Map
    PDF文档公众号回复关键字:202410071P7911[CSP-J2021]网络连接[题目描述]TCP/IP协议是网络通信领域的一项重要协议。今天你的任务,就是尝试利用这个协议,还原一个简化后的网络连接场景。在本问题中,计算机分为两大类:服务机(Server)和客户机(Client)。服务机负责建立连接,客户机......
  • 递归_字符串匹配,最长连续序列
    1:字符串匹配题目链接:LCR137.模糊搜索验证-力扣(LeetCode)可以使用递归的方法来检查 input 是否可以匹配 article。目的是正确处理两种通配符:‘.’和‘*’的匹配规则。defis_match(article:str,input:str)->bool:ifnotinput:returnnotarticle......