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();
    }
}
相关推荐
2601_9623413010 分钟前
计算机毕业设计之jsp考研在线复习平台
java·大数据·开发语言·hadoop·python·考研·课程设计
凯瑟琳.奥古斯特12 分钟前
力扣1008:前序重建BST
开发语言·c++·算法·leetcode·职场和发展
huangjiazhi_17 分钟前
纯C++实现ini文件操作
java·后端·spring
zhixingheyi_tian34 分钟前
JVM 之 GCLocker
java·jvm
码哥字节1 小时前
把 Cursor 的烂输出变成好代码,这 10 个 Prompt 改造让我省了 80% 改稿时间
java·ai编程工具·cursor 配置·prompt 技巧
2503_931712481 小时前
10m/s超高速电梯:西奥XO-NEWIII如何树立行业速度标杆
java·大数据·数据库
aqiu1111111 小时前
【算法日记 13】LeetCode 49. 字母异位词分组:哈希表的进阶“降维打击”
算法·leetcode·散列表
折哥的程序人生 · 物流技术专研1 小时前
第4篇:抽象工厂模式——产品族一键创建
java·设计模式·抽象工厂模式·创建型模式·编程进阶·产品族·扩充系列
正儿八经的少年1 小时前
Spring Boot
java·spring boot·后端