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"]
--------------------------------------------------------------------------
这个是水题,不过我打算用递归来解决它
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); //是两端往中心靠的递归 } };
(字符串 数组 递归) leetcode 344. Reverse String
原文:https://www.cnblogs.com/Weixu-Liu/p/10738685.html