题目:
https://leetcode-cn.com/problems/reverse-string/
思路:
这是很简单的一道题, 利用的是 https://baike.baidu.com/item/ASCII 码表的差值, 彼此加, 减差值即可,(也可直接交换), 一开始使用标准库的迭代器, 发现耗时较多, 改为下标后, 耗时缩短不少.
- class Solution {
- public:
- void reverseString(vector<char>& s) {
- int size = s.size();
- int last = size - 1;
- for( int i = 0; i < size / 2; ++i ) // 循环范围折半
- {
- int Difference = s[ i ] - s[ last ];
- s[ i ] -= Difference;
- s[ last-- ] += Difference;
- }
- }
- };
来源: http://www.bubuko.com/infodetail-2975077.html