前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >天池 在线编程 输入流

天池 在线编程 输入流

作者头像
Michael阿明
发布2021-09-06 11:09:00
4020
发布2021-09-06 11:09:00
举报
文章被收录于专栏:Michael阿明学习之路

1. 题目

描述 给出两个输入流 inputA 和 inputB(包含退格符), 如果两个输入流最后的结果相等,输出 YES,否则输出 NO。

代码语言:javascript
复制
输入字符只包括小写字母和'<'。
输入流长度不超过10000。

示例
样例1
输入: inputA = "abcde<<" 和 inputB = "abcd<e<"
输出: "YES"
解释:
inputA和inputB最后的结果都为"abc",故返回"YES"。

样例2
输入: inputA = "a<<bc" 和 inputB = "abc<"
输出: "NO"
解释:
inputA最后的结果为"bc",inputB最后的结果为"ab",故返回"NO"。

2. 解题

代码语言:javascript
复制
class Solution {
public:
    /**
     * @param inputA: Input stream A
     * @param inputB: Input stream B
     * @return: The answer
     */
    string inputStream(string &inputA, string &inputB) {
        // The answer
        string a = process(inputA);
        string b = process(inputB);
        return a == b ? "YES" : "NO";
    }
    string process(string& s)
    {
        int i = 0, j = 0;
        for( ; j < s.size(); ++j)
        {
            if (s[j] == '<') // 退格键
            {
                if(i > 0) // 还有字符可删
                    i--;
            }
            else
            {
                s[i] = s[j];//把后面的字符移到前面
                i++;
            }
        }
        return s.substr(0,i); //返回整理后的字符
    }
};

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/06/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 题目
  • 2. 解题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档