代码随想录(programmercarl.com):
题目链接/文章讲解/视频讲解:
https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.html
344. 反转字符串
Java代码:
class Solution {
public void reverseString(char[] s) {
int p1=0;
int p2=s.length-1;
char temp=s[0];
while(p1<p2){
temp=s[p1];
s[p1]=s[p2];
s[p2]=temp;
p1++;
p2--;
}
}
}
541. 反转字符串Ⅱ
Java代码
class Solution {
public String reverseStr(String s, int k) {
char[] arr = s.toCharArray();
for(int i=0;i<s.length()/(2*k);i++){
reverseString(arr,i*2*k,(i*2+1)*k-1);
}
int u=(int)(Math.floor(s.length()/(2*k)))*2*k;
reverseString(arr,u,Math.min(u+k-1,s.length()-1));
String s1=new String(arr);
return s1;
}
public void reverseString(char[] s,int p1,int p2) {
char temp=s[0];
while(p1<p2){
temp=s[p1];
s[p1]=s[p2];
s[p2]=temp;
p1++;
p2--;
}
}
}