反转字符串——LC344题

这里写目录标题

  • 题目描述
  • 解题思路
    • 暴力破解
    • 双指针
  • 总结

题目描述

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

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

示例 1:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-string

解题思路

暴力破解

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

双指针

void reverseString(vector<char>& s) {
        int n = s.size();
        int l=0,r=n-1;
        while(l<r){
            int temp = s[l];
            s[l] = s[r];
            s[r] = temp;
            l++;
            r--;
        }    
    }

总结

水题,没什么技巧。

你可能感兴趣的:(leetcode刷题记录,leetcode,动态规划,算法)