题解 | #字符串变形#
字符串变形
https://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e
import java.util.*;
public class Solution {
public String trans(String s, int n) {
// write code here
if(n == 0){
return s;
}
// 大小写更替
StringBuffer str = new StringBuffer();
for(int i=0;i<n;i++){
if(s.charAt(i) >= 'a' && s.charAt(i) <= 'z'){
str.append((char)(s.charAt(i) - 'a' + 'A'));
}else if(s.charAt(i) >= 'A' && s.charAt(i) <= 'Z'){
str.append((char)(s.charAt(i) - 'A' + 'a'));
}else{
str.append(s.charAt(i));
}
}
// 整体颠倒
str = str.reverse();
// 以空格为单位部分颠倒
for(int i=0;i<n;i++){
int j = i;
while(j < n && str.charAt(j) != ' '){
j++;
}
// while结束相当于在空格处,我们对i-j-1进行颠倒
String temp = str.substring(i,j);
StringBuffer buffer = new StringBuffer(temp);
temp = buffer.reverse().toString();
str.replace(i,j,temp);
i = j;
}
return str.toString();
}
}
曼迪匹艾公司福利 125人发布
查看9道真题和解析