/*
 * @lc app=leetcode.cn id=344 lang=c
 *
 * [344] 反转字符串
 *
 * https://leetcode-cn.com/problems/reverse-string/description/
 *
 * algorithms
 * Easy (65.20%)
 * Total Accepted:    39.8K
 * Total Submissions: 61.1K
 * Testcase Example:  '["h","e","l","l","o"]'
 *
 * 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
 * 
 * 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
 * 
 * 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
 * 
 * 
 * 
 * 示例 1:
 * 
 * 输入:["h","e","l","l","o"]
 * 输出:["o","l","l","e","h"]
 * 
 * 
 * 示例 2:
 * 
 * 输入:["H","a","n","n","a","h"]
 * 输出:["h","a","n","n","a","H"]
 * 
 */
void reverseString(char* s, int sSize) {
    int i,j=sSize-1;
    char temp;
    for(i=0;i<j;i++){
        temp = s[i];
        s[i] = s[j];
        s[j] = temp;
        j--;
    }
    return s;
}

很简单,两头往中间来回替换即可。

python更是一个函数就搞定(虽然效率低了点。。)

#
# @lc app=leetcode.cn id=344 lang=python3
#
# [344] 反转字符串
#
# https://leetcode-cn.com/problems/reverse-string/description/
#
# algorithms
# Easy (65.20%)
# Total Accepted:    39.8K
# Total Submissions: 61.1K
# Testcase Example:  '["h","e","l","l","o"]'
#
# 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
# 
# 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
# 
# 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
# 
# 
# 
# 示例 1:
# 
# 输入:["h","e","l","l","o"]
# 输出:["o","l","l","e","h"]
# 
# 
# 示例 2:
# 
# 输入:["H","a","n","n","a","h"]
# 输出:["h","a","n","n","a","H"]
# 
#
class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
        s.reverse()