题解 | #字符串变形#
字符串变形
https://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e
import java.util.*; import java.util.stream.Collectors; public class Solution { public String trans(String s, int n) { if("".equals(s.trim())){ return s; } boolean flag = s.endsWith(" "); List<String> list = new ArrayList<>(); String[] split = s.split(" "); for (int i = split.length - 1; i >= 0; i--) { list.add(split[i]); } String newString = list.stream().map(x -> change(x)).collect( Collectors.joining(" ")); return flag ? " " + newString : newString; } // ascii码转换大小写 a-z 97-122 A-Z 65 -90 public String change(String s) { char[] original = s.toCharArray(); StringBuffer stringBuffer = new StringBuffer(); for (int i = 0; i < original.length; i++) { int ascii = original[i]; if (ascii < 97) { original[i] = toUpCase(original[i]); } else { original[i] = toLowCase(original[i]); } stringBuffer.append(original[i]); } return stringBuffer.toString(); } public char toLowCase(char c) { int cInt = c; cInt = cInt - 32; return (char) cInt; } public char toUpCase(char c) { int cInt = c; cInt = cInt + 32; return (char) cInt; } }