题解 | #字符串变形#
字符串变形
http://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e
java代码,思想很好理解,大写变小写,小写变大写,翻转是先对整个字符串反转,然后利用stringbuffer对字符串的字符逐个进行翻转,遇到空格就把stringbuffer反转然后存到答案中,然后把stringbuffer清空,这样可以保证stringbuffer只存了字符串的每个单词。
import java.util.*; public class Solution { public String trans(String s, int n) { // write code here String ret=""; for(int i=0;i<n;i++) { char c=s.charAt(i); if(Character.isUpperCase(c)) { c=Character.toLowerCase(c); ret+=c; } else { c=Character.toUpperCase(c); ret+=c; } } String ret1=""; String ret2=""; StringBuffer sb=new StringBuffer(); for(int i=ret.length()-1;i>=0;i--) { ret1+=ret.charAt(i); } for(int i=0;i<ret1.length();i++) { if(ret1.charAt(i)!=' ') { sb.append(ret1.charAt(i)); } else { ret2+=sb.reverse().toString(); ret2+=' '; sb.setLength(0); } } ret2+=sb.reverse().toString(); return ret2; } }