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;
    }
}