编写一个程序,其作用是将输入的字符串反转过来。
示例1:
输入: "hello"
输出: "olleh"
示例2:
输入: "A man, a plan, a canal: Panama"
输出: "amanaP :lanac a ,nalp a ,nam A"
题目解析:
该题的目的很明确,就是将所有输入的字符串全部进行反转,例子如示例。
解题思路:
将字符串拆分成单个的字符数组,然后逐一进行交换。
代码实现:
public String reverseString(char[] chars) {
int len = chars.length;
for (int i = 0; i < len / 2; i++) {
char tmp = chars[i];
chars[i] = chars[len - i - 1];
chars[len - i - 1] = tmp;
}
s = String.copyValueOf(chars);
return s;
}
交换的算法有很多种,如果不想使用临时变量,我们也可以使用位运算来将两个字符进行交换,例如:
public void swap(char[] arr,int i,int j){
arr[i] ^= arr[j];
arr[j] ^= arr[i];
arr[i] ^= arr[j];
}
运行结果:
喜欢本文的话,可以关注一下公众号,每天定时更新一篇学习日记,让我们一起成长!