字符串算法之-单词反转

题目:"A beautiful girl" -> "girl beautiful a"
思想:先反转整个句子,然后再反转每个单词。

//反转单词,注意参数中有数组的起点和终点,因为是在句子中反转单个单词
    public void reverse(char[] chars, int start, int end){
        for (int i=start,j=end;i<j;i++,j--){
            char t=chars[i];
            chars[i]=chars[j];
            chars[j]=t;
        }
    }
//反转单词
    public String reverse(String s){
        if (s==null || s.length()==0){
            return s;
        }
        char[] chars = s.toCharArray();
        reverse(chars,0,chars.length-1);//先反转整个句子
        int start=0;
        for (int i=0;i<chars.length;i++){//然后再依次反转每个单词
            if (chars[i]=='  '){
                reverse(chars,start,i-1);
                start=i+1;
            }
        }
        return new String(chars);
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在看算法的书,介绍的算法面试题都没有之前的几篇那么难懂,所以一直没有更新,今天更新字符串系列的最后两个算法面试...
    zero_sr阅读 3,950评论 1 7
  • 种了两小盆的多肉植物。是在去年盛夏的时候。那时坐在靠窗的位置,阳光透过大而方正的玻璃,映着新鲜的多肉。那时也殷勤,...
    化浊阅读 336评论 0 1
  • 下雨的时候, 月色藏在雾色里,明明灭灭的, 不甚清晰。 而我在这月夜里想你, 在这灰蒙蒙的世界里,才敢想你。
    头晕晕的小核桃阅读 194评论 0 1
  • 文|赵欣 ,全职主妇一枚,正面管教和非暴力沟通践行者。 这是我分享的第2本关于家庭教育的书。母婴关系决定一切关系,...
    赵欣Ella阅读 3,233评论 11 55
  • 远程协同开发步骤: 1.把码市上的项目clone下来 git clone 码市上的项目地址(.git) ...
    jadefly阅读 321评论 0 0