反转字符串(Java实现)
程序员文章站
2024-03-04 17:37:35
...
反转字符串
题目
反转字符串(力扣:344)
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
分析
双指针求解。
使用两个指针,一个左指针 left,右指针right,开始时left指向首元素,right指向尾元素。交换两个指针指向的元素,并向中间移动,直到两个指针相遇。
代码实现
/**
* 344. 反转字符串
* @param s
*/
public void reverseString(char[] s) {
int left = 0, right = s.length-1;
char tmp;
while (left<right){
tmp = s[left];
s[left] = s[right];
s[right] = tmp;
left++;
right--;
}
}