【Leetcode】1003. Check If Word Is Valid After Substitutions

题目地址:

https://leetcode.com/problems/check-if-word-is-valid-after-substitutions/description/

给定一个长 n n n字符串 s s s,问是否能从空串出发,每次在任一位置插入"abc"使得其变成 s s s

考虑最后一步,最后一步一定是插入"abc",所以我们只需要倒过来做,让 s s s中每次删除一个"abc"子串,最后看是否能变空。代码如下:

class Solution {
 public:
  bool isValid(string s) {
    if (s.size() % 3) return false;
    string t;
    for (char ch : s) {
      t += ch;
      if (t.size() >= 3 && t.substr(t.size() - 3) == "abc")
        t.resize(t.size() - 3);
    }

    return t.empty();
  }
};

时空复杂度 O ( n ) O(n) O(n)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值