题解 | #字符串变形#

字符串变形

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @param n int整型
     * @return string字符串
     */
    public String trans(String s, int n) {
	 	 /*String a="a,b,c," ;
		当使用a.split(”,”)时得到数组是:[a,b,c],
		而a.split(",",-1)得到的数组是:[a,b,c, ],当使用.split(",", -1);会保存空值。
		*/
		//分裂句子为多个单词,考虑特殊情况,如头尾有空值
        String[] s_split = s.split(" ", -1);
        StringBuilder s_builder = new StringBuilder();
        for(int i = s_split.length - 1; i >= 0; i--){
		  //从尾到头,逆向依次存入大小写转换后的单词
            s_builder.append(reverse(s_split[i]));
		  //单词之间加空格,遍历到最后一个则不加
            if(i == 0) break;
            s_builder.append(" ");
        }
        return s_builder.toString();
    }
	//大小写字符转换
    private String reverse(String string) {
        StringBuilder res = new StringBuilder();
        for(char ch:string.toCharArray()){
            if(Character.isUpperCase(ch)){
                res.append(Character.toLowerCase(ch));
            }
            else if(Character.isLowerCase(ch)){
                res.append(Character.toUpperCase(ch));
            }
        }
        return res.toString();
    }
}

#刷题记录#
全部评论

相关推荐

蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务