welcome to my blog
LeetCode Top Interview Questions 344. Reverse String (Java版; Easy)
题目描述
Write a function that reverses a string. The input string is given as an array of characters char[].
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
You may assume all the characters consist of printable ascii characters.
Example 1:
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Example 2:
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
第一次做; 核心: 1)双指针: 从两端向中间
class Solution {
public void reverseString(char[] s) {
if(s==null || s.length<=1)
return;
int left=0, right=s.length-1;
while(left<right){
swap(s, left, right);
//update
left++;
right--;
}
}
private void swap(char[] arr, int i, int j){
char tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}