力扣刷题记录
344.反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
解答: 题目的难度为容易,确实比较容易,容易就要尽量做到比较高的击败嘛。
策略是采用两个指针left和right,分别从数组的头和尾开始,交换指针指向的数组的位置,之后left往后走(++),right往前走(--)。一直交换直到left的值大于或者等于right的值为止
下面上代码
public void reverseString(char[] s) {
int left=0,right=s.length-1;
char temp;
while(left<right){
temp=s[left];
s[left++]=s[right];
s[right--]=temp;
}
}