题目

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:

  1. Input: ["h","e","l","l","o"]
  2. Output: ["o","l","l","e","h"]

Example 2:

  1. Input: ["H","a","n","n","a","h"]
  2. Output: ["h","a","n","n","a","H"]

题意

将一个字符数组逆置。

思路

Two Pointers。


代码实现

Java

  1. class Solution {
  2. public void reverseString(char[] s) {
  3. int i = 0, j = s.length - 1;
  4. while (i < j) {
  5. char tmp = s[i];
  6. s[i++] = s[j];
  7. s[j--] = tmp;
  8. }
  9. }
  10. }