最简单可靠的方法是直接调用 std::reverse(s.begin(), s.end()),时间复杂度 O(n)、空间复杂度 O(1),需确保传入可修改迭代器且避免误用 c_str() 或 const 字符串。

用 std::reverse 原地反转字符串最简单可靠
直接调用 std::reverse 是 c++ 中反转 std::String 的标准做法,它在头文件 中定义,时间复杂度 O(n),空间复杂度 O(1),且不产生额外拷贝。
常见错误是传入错误的迭代器范围,比如漏掉 .end() 或误用 .c_str() —— 后者返回只读 C 风格字符串,不能被修改。
- 必须传入可修改的迭代器:用
s.begin()和s.end(),不是s.c_str() - 对
const std::string&无法原地反转,需先拷贝为非 const 对象 - 如果字符串含嵌入空字符(