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

844. 比较含退格的字符串c

时间:2024-03-12 23:02:23浏览次数:18  
标签:844 int char tail 字符串 strlen 退格

bool backspaceCompare(char* s, char* t) {
    int ns=strlen(s),nt=strlen(t);
    int head=0,tail=0;
    int n1=0,n2=0;
    while(tail<ns){
        if(head==0&&s[tail]=='#'){
            tail++;
        }else if(s[tail]=='#'){
            tail++;
            head--;
            n1--;
        }else{
            n1++;
            s[head]=s[tail];
            head++;
            tail++;
        }
    }
    head=0,tail=0;
    while(tail<nt){
        if(head==0&&t[tail]=='#'){
            tail++;
        }else if(t[tail]=='#'){
            tail++;
            head--;
            n2--;
        }else{
            n2++;
            t[head]=t[tail];
            head++;
            tail++;
        }
    }
    printf("%d %d",n1,n2);
    if(n1!=n2) return false;
    for(int i=0;i<n1;i++){
        if(s[i]!=t[i]) return false;
    }
    return true;
}

结果:

标签:844,int,char,tail,字符串,strlen,退格
From: https://www.cnblogs.com/llllmz/p/18069569

相关文章

  • C语言字符函数和字符串函数
    前言今天这篇博客咱们一起来认识一些特殊的函数,在编程的过程中,我们经常要处理字符和字符串,为了方便字符和字符串,C语言提供了一些库函数,让我们一起看看这些函数都有什么功能吧!!!个人主页:小张同学zkf若有问题评论区见感兴趣就关注一下吧目录 1.字符分类函数2.字符......
  • QT生成固定长度的随机字符串
    最近项目中有一个需要使用QT生成固定长度随机字符串的需求,需求也很简单,就是生成一个n位的仅包含0-9以及大写字母的字符串,因为这也是第一次使用QT自身的随机数,这里就做一下简单记录。废话不多说,直接上代码。1QStringgetRandomString(intlength)2{3qsrand(QDateTi......
  • C语言以空格分割字符串
    方法一、使用<string.h>的strtok()函数原型:char*strtok(char*str1,constchar*str2);头文件:#include<string.h>功能:用指定的分隔符分解字符串参数: char*str1 为要分解的字符串constchar*str2 为分隔符字符串返回值: 返回下一个分割后的(位于最开始的)字......
  • 【Azure Power BI】Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以
    问题描述PowerBI获取SharePointList列表作为数据源。但是在数据源中,有Table属性值,有List属性值。如果直接展开,则会形成“笛卡尔”集的效果,变成N多行数据。效果图如下:但是,我们最终所需要的效果是:保留整体表格的行数不变,把Table中所需要的字段,List中的值使用“逗号”分隔,展示......
  • 438. 找到字符串中所有字母异位词c
    /***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/intchange(charc){returnc-'a';}booljudge(char*s,inthead,inttail,intn,int*tempp,int*temps){if(tail>=n)returnfalse;for(inti=head;i&......
  • C++ 字符串和字符操作
    1.头文件#inlcude<string>2.std::string&char*区别char*是一个指针string是一个类,内部封装了char,是一个char管理容器3.std::string&C-style字符串区别std::string是C++标准库中的字符串类,提供了许多字符串操作的方法和功能,包括长度计算、拼接、查找、替换等......
  • 给定字符串,输出符合要求的子串
    给定字符串,输出出现次数>3的字符串。实例:输入:"kouredgameredokwhogameredkaraokeyukarikouredrednanikoucankoukouongakugamegame"输出:redgamekou代码:importoperatorinput_str="kouredgameredokwhogameredkaraokeyukarikouredredn......
  • Python 列表中任意字符串是否存在的判断
    `importsysjudge_string=[]target_string=sys.argvjudge_string=['-?','/?','--?','-help','--help','help']target_string=sys.argvjudge_result=any(wordifwordintarget_stringelseFals......
  • 567. 字符串的排列(中)
    目录题目题解:滑动窗口题目给你两个字符串s1和s2,写一个函数来判断s2是否包含s1的排列。如果是,返回true;否则,返回false。换句话说,s1的排列之一是s2的子串示例1:输入:s1="ab"s2="eidbaooo"输出:true解释:s2包含s1的排列之一("ba").示例2:输入:s1=......
  • Qt 将16进制的内容的QString字符串转为QByteArray数组
    1.QString存储十六进制内容我要发送的十六进制内容是0105040100将其储存在QString字符串中1QStringstr;2str="0105040100";2.核心语句将两位的字符串转换为16进制的Int型数字,然后通过强制类型转换成char类型的字符。(具体作用方式我还没去看,但是有用)(char)str.m......