原代碼雙重循環導致輸出 51234,目標是完整反轉為 54321。
for (int i = 0, j = word.size() - 1; i < j; ++i, --j) {
char temp = word[i];
word[i] = word[j];
word[j] = temp;
}
或用標準庫一行搞定:
#include <algorithm>
std::reverse(word.begin(), word.end());
--i、內層 ++j 邏輯混亂,導致多次重複交換、越界風險。掌握雙指針法,反轉字串/數組成為基本功。