leetCode原题:
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
比如:hello->olleh
思路:
使用双指针,左指针指向字符串收尾,右指针指向末尾
while循环条件:左指针小于等于右指针
小于的目的是,当字符串为偶数时,指针一直走,但左指针大于右指针时,说明反转完成
等于时:当字符串为奇数时,左右指针相等的时候,说明遍历结束
代码如下:
public class Test {
public static void main(String[] args) {
char[] s={'h','e','l','l','o'};
reverseString(s);
}
public static void reverseString(char[] s){
//创建左指针
int left=0;
//创建右指针
int right=s.length-1;
//遍历字符串数组
while(left<=right){
//创建临时变量
char temp=s[left];
s[left]=s[right];
s[right]=temp;
//左指针++
left++;
//右指针--
right--;
}
for(int i=0;i<s.length;i++){
System.out.print(s[i]);
System.out.print(" ");
}
}
}