zoukankan      html  css  js  c++  java
  • 实现字符串反转

    描述

    把一个句子的单词进行反转,例如"how are you"改为"you are how"。

    分析

    两次反转,第一次对整个字符串反转为"uoy era woh",第二次再对每个单词进行反转。

    代码

    public class Test {
        //反转chars[start,end]的内容
        public void swap(char[] chars,int start,int end){
            char tmp;
            while(start<end){
                tmp=chars[start];
                chars[start]=chars[end];
                chars[end]=tmp;
                start++;
                end--;
            }
        }
        //
        public String swapString(String str){
            char[] chars=str.toCharArray();
            swap(chars,0,str.length()-1);
            int start=0;
            boolean flag=false;  //是否确定了反转单词的开头位置
            for(int i=0;i<chars.length;i++){
                if(chars[i]==' ') {
                    if (flag) {
                        swap(chars, start, i-1);
                        flag=false;
                    }
                }else{
                    if(!flag){
                        flag=true;
                        start=i;
                    }
                }
            }
            if(flag) swap(chars,start,str.length()-1);  //如果不加得到的结果就会是you are woh
            return new String(chars);
    
        }
        public static void main(String[] args) {
            System.out.println(new Test().swapString("how are you"));
        }
    }
  • 相关阅读:
    PHP中的赋值运算符
    PHP-字符串过长不用担心
    php-引号中出现$
    wamp多站点配置
    php-wamp滴定仪网站的根目录
    php初探
    JMeter jmeter-plugins插件的安装使用
    JMeter 调试取样器(Debug Sampler)
    css选择器
    css文本样式
  • 原文地址:https://www.cnblogs.com/zadomn0920/p/6358220.html
Copyright © 2011-2022 走看看