题目
编写一个函数,其作用是将输入的字符串反转过来。
示例 1:
输入: “hello”
输出: “olleh”
示例 2:
输入: “A man, a plan, a canal: Panama”
输出: “amanaP :lanac a ,nalp a ,nam A”
解题
- 使用对撞指针可以很轻松的解决这个问题
- 定义两个变量分别指向数组头尾, 每次交换位置, 两个变量碰撞时, 说明已经完成了字符串反转了, 代码如下:
class Solution {
public String reverseString(String s) {
if(null == s || "".equals(s)) {
return s;
}
char[] chars = s.toCharArray();
int left = 0, right = chars.length - 1;
while(left < right){
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
return new String(chars);
}
}