反转字符串

LeetCode每日一题,344. Reverse String

先看题目描述

大意就是给定一个字符数组,让我们将其反转

算法和思路

这题很简单,定义一头一尾两个指针,然后交换这两个指针对应的字符,然后两个指针同时向内移动,重复这个过程直到两个指针相遇

算法源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public void reverseString(char[] s) {
int len = s.length;
int left = 0;
int right = len - 1;
while (left < right) {
swap(s, left, right);
left++;
right--;
}
}

private void swap(char[] s, int left, int right) {
char temp = s[left];
s[left] = s[right];
s[right] = temp;
}
}