赞
踩
本题使用了双指针法,关键点在于理解反转的原理,利用左右指针交换字符串中的字符位置,从而实现字符串的翻转。
时间复杂度:O(n),空间复杂度:O(1)
思路:
代码:
- class Solution {
- public:
- void reverseString(vector<char>& s) {
- int left = 0;
- int right = s.size() - 1;
- while (left < right) {
- s[left] ^= s[right];
- s[right] ^= s[left];
- s[left] ^= s[right];
- left++;
- right--;
- }
- }
- };
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。