在Leetcode上看到一道题:
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.
Example 1:
Input: [“h”, “e”, “l”, “l”, “o”]
Output: [“o”, “l”, “l”, “e”, “h”]
从这道题上看出,是将原先的string 进行收尾调换来达到效果。
这道题,如果用Python来解决,就一行代码就出来了,代码如下:
class Solution(object):
def reverseString(self, s):
s.reverse()
这道题还可以用C来写:
void reverseString(char* s, int sSize) {
int l = 0; // 设置低位的index
int h = sSize - 1; // 设置高位的index
while(l < h){
char temp = s[l];
s[l] = s[h];
s]h] = temp;
l++;
h--;
}
}
如果有哪里写的不对,请指出来哦!