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"]
很简单的一道题,但是有个陷阱:不能把swap单独作为一个方法,因为这样的话原来的array里面并没有实现元素交换。
class Solution { public void reverseString(char[] s) { int num = s.length; if(s == null || num == 0) return; for(int i=0; i<num/2; i++) { char t; t = s[i]; s[i] = s[num-1-i]; s[num-1-i] = t; } } }