一、题目描述
二、思路
同 打卡 DAY 10 反转链表 类似,也是使用双指针法,不过此题更简单。
三、解题过程
-
初始化左右指针
int left = 0;
int right = sSize - 1;
-
将指针所指元素交换
while(left < right){
char tmp = s[left];
s[left] = s[right];
s[right] = tmp;
left ++;
right --;
}
四、代码
void reverseString(char* s, int sSize){
int left = 0;
int right = sSize - 1;
while(left < right){
char tmp = s[left];
s[left] = s[right];
s[right] = tmp;
left ++;
right --;
}
}
时间复杂度:O(n),空间复杂度O(1)。