题解 | #字符串变形#

字符串变形

http://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e

import java.util.*;
public class Solution {
    public String trans(String s, int n) {
        // write code here
      //使用栈的特性,输出为反向
        Stack<String>stack=new Stack<>();
        StringBuffer buffer=new StringBuffer();
        for(int i=0;i<n;i++){
          //遇到空格入栈
            if(s.charAt(i)==' '){
                stack.push(buffer.toString());
                buffer.delete(0,buffer.length());
            }else{
              //小写字母-32转为大写
                if(s.charAt(i)>='a'&&s.charAt(i)<='z'){
                buffer.append((char)(s.charAt(i)-32));
            }else{
                  //大写字母+32转为小写
                buffer.append((char)(s.charAt(i)+32));
            }
            }
 }
      //最后一个单词入栈
        stack.push(buffer.toString());
        StringBuffer ans=new StringBuffer();
        while(!stack.isEmpty()){
            ans.append(stack.pop());
          //每个单词后接空格
            ans.append(' ');
        }
      //删除最后一个多余空格
        ans.deleteCharAt(ans.length()-1);
        return ans.toString();
    }
}
全部评论

相关推荐

05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务