本篇博客会讲解力扣“344. 反转字符串”的解题思路,这是题目链接。
这是一道经典题目了。解题思路是:双下标,left指向最左边的字符,right指向最右边的字符,交换2个字符,left向右挪动一格,right向左挪动一格,重复前面的步骤,直到left和right相遇。
本题由于已经给了size,所以right可以直接初始化为size-1。注意:如果size未知,则要先遍历字符串,找到\0,或者使用strlen求字符串长度。
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;}
}
总结
反转字符串思路:双下标从两边到中间,交换对应字符。
感谢大家的阅读!