重点:
- 可以将字符串转化成数组处理(时间更快)。
- 同时将字符串转化为数组的方式:String.valueOf(ss)。
LeetCode344.反转字符串
public void reverseString(char[] s) {
int i=0,j=s.length-1;
char temp;
while(i<j) {
temp=s[i];
s[i]=s[j];
s[j]=temp;
i++;
j--;
}
}
LeetCode541.反转字符串II
public static void reverse(char[] s, int start,int end) {
char temp;
while(start<end) {
temp=s[start];
s[start]=s[end];
s[end]=temp;
start++;
end--;
}
}
public static String reverseStr(String s, int k) {
char[] ss = s.toCharArray();
int kk = k-1,index=0,flag=0;
//当能取到一个完整的k时
while(index+kk<ss.length) {
//如果是前k个数,则反转字符串
if(flag==0) {
reverse(ss,index,index+kk);
flag=1;
}else {
flag=0;
}
index+=k;
}
//处理最后留下的一部分
if(flag==0&&index<ss.length-1) {
reverse(ss,index,ss.length-1);
}
return String.valueOf(ss);
}
54. 替换数字(第八期模拟笔试)
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
scan.close();
StringBuilder sb = new StringBuilder();
for(int i=0;i<s.length();i++) {
if(s.charAt(i)>='0'&&s.charAt(i)<='9') {
sb.append("number");
}else {
sb.append(s.charAt(i));
}
}
System.out.println(sb);
}