leetcode 344. Reverse String

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;
        }
    }
}

 

posted @ 2019-01-30 20:36  JamieLiu  阅读(81)  评论(0编辑  收藏  举报