zoukankan      html  css  js  c++  java
  • ReverseWordsInAString

    /*

    "    ab      c           "转换成:"c ab" 

    输入的字串可以有leading space和tailing space,输出字串不可有,中间的连续空格转成单一空格

    我的解法:

    public String reverseWords(String s) {

        String[] s1=s.split(" ");
            ArrayList<String> list=new ArrayList<String>();
            for (String string : s1) {
                if(!string.equals(""))//这里千万不可以写成" "
                    list.add(string);
            }
            for (String string : list) {
                System.out.println(string);
            }
            String reString="";
            if(list.size()==0)
                return "";
            for (int i = list.size()-1; i>0; i--) {
                reString+=list.get(i)+" ";
            }        
            reString+=list.get(0);
            return reString;

    }

    */

    ************************************************************

    StringBuilder reversed = new StringBuilder();
            int j = s.length();//设定两个指针
            for (int i = s.length() - 1; i >= 0; i--) {
                if (s.charAt(i) == ' ') {
                    j = i;//如果是s的初始连续空格,那么只会执行这段,不会走到append语句
                } else if (i == 0 || s.charAt(i - 1) == ' ') {//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!这个地方一定要把判断i是否为0放在前面。如果把s.charAt(i-1)放在前面,那么在走到i=0时,会做s.charAt(-1)的运算,报错!如果把i==0的判断放在前面,在判断i==0

                                                                                       //为真后,直接进入后面的内容,不会再做charAt(-1)的运算。
                        if (reversed.length() != 0) {//当reversed的长度为0,不要添加‘ ’,因为是s末尾的连续空格,不加入
                        reversed.append(' ');
                        }
                        reversed.append(s.substring(i, j));
                }
            }
            return reversed.toString();

    //作者把字串想成了(从后往前看)一段空串加一段有字串的重复形式,

  • 相关阅读:
    Shell编程笔记
    Git学习笔记
    JavaScript+jQuery实现简单的动态菜单
    JSON表单提交(ajax异步刷新)
    Json简单实例
    jsp分页
    浅谈this关键字
    Servlet+Javabean+Html实现简单的查询.删除.修改.添加四个功能
    Tomcat的安装与在myeclips中的配置
    jsp页面实现增删修改和查询
  • 原文地址:https://www.cnblogs.com/litian0605/p/5103741.html
Copyright © 2011-2022 走看看