344.反转字符串
题目链接:344. 反转字符串 - 力扣(LeetCode)
class Solution {
public void reverseString(char[] s) {
int left = 0, right = s.length - 1;
while(left < right) {
swap(s, left++, right--);
}
}
private void swap(char[] s,int i,int j) {
char a = s[i];
s[i] = s[j];
s[j] = a;
}
}
541. 反转字符串II
题目链接:541. 反转字符串 II - 力扣(LeetCode)
class Solution {
public String reverseStr(String s, int k) {
s.sub
char[] a = s.toCharArray();
for(int i = 0; i < s.length(); i += 2 * k) {
if(i + k >= s.length()) {
helper(a, i, s.length() - 1);
}else {
helper(a, i, i + k - 1);
}
List<Integer> list = new ArrayList<>();
list.addLast(e);
}
return String.valueOf(a);
}
private void swap(char[] a, int i, int j) {
char mid = a[i];
a[i] = a[j];
a[j] = mid;
}
private void helper(char[] a, int left, int right) {
while(left < right) {
swap(a, left++, right--);
}
}
}
卡码网:54.替换数字
题目链接:题目页面 (kamacoder.com)
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = new String(sc.nextLine());
StringBuffer str = new StringBuffer();
for(int i = 0; i < s.length(); ++i) {
if(s.charAt(i)>='a'&&s.charAt(i)<='z') {
str.append(s.charAt(i));
}else {
str.append("number");
}
}
System.out.println(str);
}
}
第一次用卡码网的输入输出格式十分不适应,以为和力扣的一样,实则相差很大。
151.翻转字符串里的单词
题目链接:151. 反转字符串中的单词 - 力扣(LeetCode)
class Solution {
public String reverseWords(String s) {
int slen = s.length();
StringBuffer buf = new StringBuffer();
for(int i = slen - 1,j; i >= 0; --i) {
if(s.charAt(i) == ' ') {
continue;
}else {
for(j = i; j >=0; --j) {
if(s.charAt(j) == ' ') {
break;
}
}
int k = j;
++j;
while(j <= i) {
buf.append(s.charAt(j));
++j;
}
i = k;
buf.append(' ');
}
}
buf.deleteCharAt(buf.length()-1);
return buf.toString();
}
}
卡码网:55.右旋转字符串
题目链接:题目页面 (kamacoder.com)
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
sc.nextLine();
String s = new String(sc.nextLine());
int slen = s.length();
k %= slen;
k = slen - k;
System.out.print(s.substring(k));
System.out.println(s.substring(0,k));
}
}