题意:给定只含大小写字母的字符串 s(下标从 1 开始),维护计数器 x=1。按 i=1..n 顺序进行:
i+x ≤ n 且 s[i+x] 为大写字母,则把 s[i+x] 改成小写,并令 x+=1;同时若 s[i] 为小写则把 s[i] 改成大写。做法:模拟 / 双指针
用 0 下标实现更方便。遍历位置 i,动态维护 x,用另一个位置 j=i+x(相当于第二个指针)。若 j 在范围内且 s[j] 是大写,则按规则修改 s[j]、提升 x,并把 s[i] 在需要时改成大写。整个过程只前进一次,所有操作都可在原串上完成。
给定一个长度为 n 、由大小写字母组成的字符串 s (下标从 1 开始)。存在一个计数器 x ,初始 x=1 。你需要按下标从小到大的顺序,依次对每个下标 i 执行如下操作:
请输出全部操作结束后的字符串。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.