344.反转字符串
力扣题目链接
class Solution1 {
public void reverseString(char[] s) {
for (int i = 0; i < s.length/2; i++) {
s[i] = (char) (s[s.length-1-i] ^ s[i]);
s[s.length-1-i] = (char) (s[s.length-1-i] ^ s[i]);
s[i] = (char) (s[s.length-1-i] ^ s[i]);
}
}
}
541. 反转字符串II
力扣题目链接
class Solution2 {
public String reverseStr(String s, int k) {
char[] chars = s.toCharArray();
for (int i = 0; i < s.length(); i+=2*k) {
for (int j = 0; j < min(k/2,(s.length()-i)/2); j++) {
char p =chars[min(i-j+k-1,s.length()-1-j)];
chars[min(i-j+k-1,s.length()-1-j)] = chars[i+j];
chars[i+j] = p;
}
}
return new String(chars);
}
}
题目:剑指Offer 05.替换空格
力扣题目链接
class Solution3 {
public String replaceSpace(String s) {
for (int i = 0; i < s.length(); i++) {
if(s.charAt(i) == ' '){
String s2 = s.substring(i+1);
String s1 = s.substring(0,i);
s = s1 + "%20" + s2;
i+=2;
}
}
return s;
}
}
151.翻转字符串里的单词
力扣题目链接
class Solution4 {
public String reverseWords(String s) {
String newstring = "";
String[] strings = s.split(" ");
for (String ss:strings) {
newstring = ss.trim()+" "+newstring.trim();
}
return newstring.trim();
}
}
题目:剑指Offer58-II.左旋转字符串
力扣题目链接
class Solution5 {
public String reverseLeftWords(String s, int n) {
String s1 = s.substring(0,n);
String s2 = s.substring(n);
return s2+s1;
}
}