leetcode 344 Reverse String


  1. Reverse String:题目链接

方法1:双指针之对撞指针

基本思想:指针i从左向右扫描,指针j从右向左扫描,只要i<j即两者不相遇,就交换指针i和指针j所指向的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Solution1 {
// 时间复杂度O(N) 空间复杂度O(N) 主要是开辟了res数组
public String reverseString(String s) {
int i = 0;
int j = s.length() - 1;
char[] res = s.toCharArray();
while (i < j){
char temp = res[i];
res[i] = res[j];
res[j] = temp;
i++;
j--;
}
return new String(res);
}

public static void main(String[] args) {
String s = "A man, a plan, a canal: Panama";
System.out.println(new Solution1().reverseString(s));
}
}

pS: 源代码链接

文章目录
  1. 1. 方法1:双指针之对撞指针
|