A.每日一题:3612. 用特殊操作处理字符串 I

题目链接:3612. 用特殊操作处理字符串 I(中等)

算法原理:

解法:模拟

4ms击败100.00%

时间复杂度O(2ⁿ),其中 n 是 s 的长度,最坏情况下把一个字符复制 n-1 次,得到长为 2ⁿ⁻¹ 的字符串,这个过程的时间为等比数列之和O(1+2+4+8+......)=O(2ⁿ)

注意字符串为空的时候,不能删除最后一个字母(否则会报错)

Java代码:

java 复制代码
class Solution {
    //3612. 用特殊操作处理字符串 I
    public String processStr(String s) {
        StringBuffer cur=new StringBuffer();
        for(char c:s.toCharArray()){
            if(c=='*'){
                //多套一个 if 防止非小写字母进入 else 里
                if(!cur.isEmpty())
                    cur.setLength(cur.length()-1);
            }
            else if(c=='#') cur.append(cur);
            else if(c=='%') cur.reverse();
            else cur.append(c);
        }
        return cur.toString();
    }
}
相关推荐
程序员黑豆5 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
ShineWinsu7 小时前
对于C++:auto_ptr、unique_ptr、shared_ptr的模拟实现
c++·面试·笔试·智能指针·unique_ptr·shared_ptr·auto_ptr
mldong9 小时前
"applicant" 契约:退回发起人的闭环设计
java·架构
月华路9 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
gugucoding10 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
黄敬峰10 小时前
一文搞懂 NestJS 后端框架:工厂模式、模块化与装饰器
面试
zww894911110 小时前
校园跑腿系统开发实战指南:从需求分析到上线部署全流程解析
java
Fluxart.ai10 小时前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
名字还没想好☜11 小时前
Java 线上内存泄漏排查实战:jmap 导堆、MAT 找 GC Roots 与四类常见泄漏
java·开发语言·jvm·内存泄漏
码匠许师傅11 小时前
【C++ 面试真题】聊聊 C++ 的多继承与虚继承
开发语言·c++·面试