Leetcode Tencent 50 344. Reverse String
描述
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
示例 1:
1 | 输入:["h","e","l","l","o"] |
示例 2:
1 | 输入:["H","a","n","n","a","h"] |
来源:力扣(LeetCode)
链接:344. Reverse String
解题思路
比较简单的一个题目,采用头尾双指针法,头尾交换,然后对象将指针往中间移动,知道两个指针相遇,退出循环,此时也交换完成,不管原来的数组的个数是奇数还是偶数,都可以用这种方法。具体代码如下:
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void reverseString(char* s, int sSize)
{
int head = 0, tail = sSize - 1;
char tmp;
while(head < tail)
{
tmp = s[head];
s[head] = s[tail];
s[tail] = tmp;
head++;
tail--;
}
}