题解 | 字符串变形

字符串变形

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @param n int整型 
     * @return string字符串
     */
    public String deal(String s){
        StringBuilder newStr = new StringBuilder();
        for (int i = 0;i<s.length();i++){
            char c = s.charAt(i);
            if (Character.isLowerCase(c)){
                c = Character.toUpperCase(c);
            }else{
                c = Character.toLowerCase(c);
            }
            newStr.append(c);
            
        }
        return newStr.toString();
    }
    public String trans (String s, int n) {
        // write code here
        if(s.trim().isEmpty()){
            return s;
        }

    
      
        if(n == 0){
            return "";
        }
        StringBuilder newS = new StringBuilder();
        List<String> list = new ArrayList<>();
      // 处理开头的空格
        int start = 0;
        while (start < n && s.charAt(start) == ' ') {
            list.add(" ");
            start++;
        }
        String[] array = s.substring(start).split(" ");
        for (int i = 0;i<array.length;i++){
            list.add(array[i]);
            if (i<array.length-1){
                list.add(" ");
            }   
        }
        int end = n - 1;
        while (end >= 0 && s.charAt(end) == ' ') {
            list.add(" ");
            end--;
        }
        for(int i = list.size()-1;i>=0;i--){
            if (!" ".equals(list.get(i))){
                newS.append(deal(list.get(i)));

            }else{
                newS.append(" ");
            }
        }
        return newS.toString();
    }
}

写的很难受的一道题 痛苦 面向答案编程 呕

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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