344.反转字符串
class Solution {
public void reverseString(char[] s) {
for (int i = 0, j = s.length - 1; i < j; i++, j--) {
swap(s, i, j);
}
}
public void swap(char[] s, int i, int j) {
char temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
541.反转字符串II
class Solution {
public String reverseStr(String s, int k) {
String[] split = s.split("");
for (int i = 0; i < split.length / (2 * k) * (2 * k); i = i + 2 * k) {
swap(split, i, k);
}
int begin = split.length / (2 * k) * (2 * k);
if (split.length - begin < k) {
swap(split, begin, (split.length - begin) );
} else {
swap(split, begin, k);
}
StringBuilder stringBuilder = new StringBuilder();
for (String s1 : split) {
stringBuilder.append(s1);
}
return stringBuilder.toString();
}
public void swap(String[] split, int begin, int k) {
for (int i = begin, j = begin + k - 1; i < j; i++, j--) {
String temp = split[i];
split[i] = split[j];
split[j] = temp;
}
}
}
54.替换数字
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
String s1 = changeToNumber(s);
System.out.println(s1);
}
public static String changeToNumber(String s) {
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) >= '0' && s.charAt(i) <= '9') {
stringBuilder.append("number");
} else {
stringBuilder.append(s.charAt(i));
}
}
return stringBuilder.toString();
}
}
151.翻转字符串里的单词
class Solution {
public String reverseWords(String s) {
s.trim();
String[] split = s.split(" ");
StringBuilder stringBuilder = new StringBuilder();
for (int i = split.length - 1; i > -1; i--) {
if (!(" ").equals(split[i]) && !("").equals(split[i])) {
split[i] = split[i].trim();
stringBuilder.append(split[i]);
stringBuilder.append(" ");
}
}
return stringBuilder.toString().trim();
}
}
55.右旋转字符串
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int k = scanner.nextInt();
String s = scanner.next();
String s1 = rightReverse(s, k);
System.out.println(s1);
}
public static String rightReverse(String s, int k) {
String[] split = s.split("");
StringBuilder stringBuilder = new StringBuilder();
for (int i = split.length - k; i < split.length; i++) {
stringBuilder.append(split[i]);
}
for (int i = 0; i < split.length - k; i++) {
stringBuilder.append(split[i]);
}
return stringBuilder.toString();
}
}