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();
    }
}
相关推荐
承渊政道2 小时前
【MySQL数据库学习】(MySQL表的内外连接)
数据库·学习·mysql·leetcode·bash·数据库开发·数据库系统
唐青枫3 小时前
Java Flyway 实战指南:用 SQL 脚本管理数据库版本
java
huangdong_10 小时前
电商平台图片URL原图转换技术深度解析:从缩略图到高清原图的完整方案
java·后端·spring
記億揺晃着的那天10 小时前
Java 调用外部 Go 程序的实践:ProcessBuilder 在生产环境中的应用
java·golang·processbuilder
JAVA面经实录91710 小时前
Java 数据结构与算法 (终极完整学习文档)
java·数据结构·算法
JAVA面经实录91711 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
程序员三藏11 小时前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
一杯奶茶¥11 小时前
基于springboot的失物招领管理系统带万字文档 校园失物招领管理系统 失物认领管理系统java springboot vue
java·vue.js·spring boot·java项目
不能只会打代码12 小时前
边缘视频分析平台的架构设计与性能优化——从750ms到190ms的调优之路
java·spring boot·redis·性能优化·边缘计算·物联网竞赛