【leetcode】反转字符串c++

题目描述:
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

示例1:

输入:s = [“h”,“e”,“l”,“l”,“o”]
输出:[“o”,“l”,“l”,“e”,“h”]

示例2:

输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]

提示:

1 <= s.length <= 105
s[i] 都是 ASCII 码表中的可打印字符

代码:

class Solution {
    
    
public:
    void reverseString(vector<char>& s) {
    
    
        int n=s.size();
        for(int i=0;i<n/2;i++){
    
    
            int x = s[i];
            s[i]=s[n-1-i];
            s[n-1-i]=x;
        }

    }
};

例如:0,1,2,3,4
a[0]和a[4]交换,a[1]和a[3]交换,a[2]和a[2]交换

即a[i]和a[l-1-i]交换。

猜你喜欢

转载自blog.csdn.net/qq_40315080/article/details/120556267