题解 | #字符串变形#
字符串变形
https://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e
import java.util.*; public class Solution { public String trans(String s, int n) { // 解题步骤 // 1、先翻转遍历,将小写转换成大写,大写转化为小写 // 2、遍历步骤1生成的,遇到空格,再翻转单个单词,存入得到StringBuffer //返回值: //"SAMPLE A IS tHIS" // String s = "This is a sample"; // int n = 16; StringBuffer recv = new StringBuffer(); // 翻转 + 转行大小写 for(int i = n - 1;i >= 0;i--){ char c = (char)s.charAt(i); if(c >= 'a' && c <= 'z'){ c = (char)(c - 32); }else if(c >= 'A' && c <= 'Z'){ c = (char)(c + 32); } recv.append(c); } //System.out.println(recv.toString()); StringBuffer recvBuffer = new StringBuffer(); for(int i = 0;i < n; i++){ String temp = ""; char c; while(i < n && (c = recv.charAt(i)) != ' '){ temp += c; i++; } //System.out.println(temp); StringBuffer buffer = new StringBuffer(temp); temp = buffer.reverse().toString(); recvBuffer.append(temp); if(i -1 != n-1){ recvBuffer.append(" "); } } return recvBuffer.toString(); } }