力扣344-反转字符串——双指针法

问题描述

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

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

问题求解

  • 由于要反转整个字符数组,所以便联想到双指针求解;
  • 建立两个指针first指向数组首部,last指向数组尾部;
  • 每循环一次,交换两个指针所指向的字符,直至遍历完整个数组。
  • 这道题属于非常简单的题,用于巩固。

输入输出示例

力扣344-反转字符串——双指针法_第1张图片

代码

class Solution {
    public void reverseString(char[] s) {
        int len = s.length;
        int first = 0;
        int last = len - 1;
        char tem;
        while(first <= last){
            tem = s[first];
            s[first] = s[last];
            s[last] = tem;
            first++;
            last--;
        } 
    }
}

你可能感兴趣的:(从暴力搜索开始!,leetcode,算法)