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.

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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"]
--------------------------------------------------------------------------
这个是水题,不过我打算用递归来解决它
C++代码:
class Solution {
public:
    void reverseString(vector<char>& s) {
        helper(s,0,s.size()-1);
    }
    void helper(vector<char>& s,int start,int end){
        if(start >= end){
            return;
        }
        char tmp = s[start];
        s[start] = s[end];
        s[end] = tmp;
        helper(s,start+1,end-1);  //是两端往中心靠的递归
    }
};

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄