zoukankan      html  css  js  c++  java
  • Codewars Solution:Reverse words

    Level 7 kyu :Reverse words

    字符串反转每一个单词,但保留所有空格

    例:

    "This is an example!" ==> "sihT si na !elpmaxe"

    "double spaces" ==> "elbuod secaps"

    主要方法:

    charAt(index)

    第一次提交:测试用例可以通过,但没有通过Attempt,原因没有解决连续空格的问题。

     1 public static String camelCase(final String original) {
     2         String[] array=original.split(" ");//分割字符串
     3         for(int i=0;i<array.length;i++) {//遍历出每一个单词进行反转
     4             String s="";
     5                 for(int j=array[i].length()-1;j>=0;j--) {
     6                     if(array[i]!=" ") {
     7                         s=s+array[i].charAt(j);
     8                     }
     9                 }
    10             array[i]=s;
    11         }
    12         String out="";
    13         for(int i=0;i<array.length;i++) {//最后拼接,是否到最后一个单词,是就不加空格了
    14             out=(i==array.length-1)?out+array[i]:out+array[i]+" ";
    15         }
    16         return out;
    17      }

    他人解决方案1:

    public static String reverseWords(final String original) {
            String out="";  //默认是空串
            String a_word="";
            for (int i=0;i<original.length();i++) {
                if (original.charAt(i) != ' ') {  //如果不是空格,就从前加入一个单词,使单词逆序。
                    a_word = original.charAt(i) + a_word;
                }
                if (original.charAt(i) == ' ') {  //如果是空格,就将单词放入输出字符串,
                    out = out + a_word;
                    a_word = "";  //单词置空,下次接着开始
                    out = out + " ";  //输出字符串加空格
                }
            }
            out = out + a_word;
            return out;
        }

    方案2:

    public static String reverseWords(final String original)
      { 
        String[] array = original.split(" ");
        
        if(array.length == 0) 
            return original;
        
        
        int i = 0;
        for(String string : array){
            array[i] = new StringBuilder(string).reverse().toString();
            i++;
        }
        
        return String.join(" ",array);
      }

    最后bb一句:同样是加了空格,为什么我的不能通过。(╯-_-)╯╧╧

  • 相关阅读:
    编写一个函数func(),将此函数的输入参数(int型)逆序输出显示,如54321 –> 12345,要求使用递归,并且函数体代码不超过8行
    java中两种单例模式
    springMVC配置freemarker 二(问题讨论篇)
    springMVC配置freemarker
    java中@value的环境配置
    java环境log4j日志环境的配置。
    websocket协议
    http报文和浏览器缓存机制
    详解网络连接
    编码总结
  • 原文地址:https://www.cnblogs.com/mc-web/p/13170552.html
Copyright © 2011-2022 走看看