c_cpp 反向串。给定长度为n且索引为i的字符串s(0 <= i <= n)。仅使用恒定的额外空间,您如何操纵字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 反向串。给定长度为n且索引为i的字符串s(0 <= i <= n)。仅使用恒定的额外空间,您如何操纵字符串相关的知识,希望对你有一定的参考价值。
void reverse1(string &s, int i, int j) {
if(i < 0 || j >= s.size() || i > j || s.empty()) return;
while(i <= j) {
swap(s[i++], s[j--]);
}
}
void manipulate(string &s, int i) {
if(s.empty()) return;
reverse1(s, 0, s.size()-1);
int mid = s.size() - i - 2;
reverse1(s, 0, mid);
reverse1(s, mid+1, s.size()-1);
}
以上是关于c_cpp 反向串。给定长度为n且索引为i的字符串s(0 <= i <= n)。仅使用恒定的额外空间,您如何操纵字符串的主要内容,如果未能解决你的问题,请参考以下文章
子串判断
BZOJ4259: 残缺的字符串
回文树(模板)
Uva 12012 Detection of Extraterrestrial 求循环节个数为1-n的最长子串长度 KMP
[HDU2825]Wireless Password
Codechef LOCAUG17