"girl beautiful a"思想:先反转整个句子,然后再...">
美文网首页
字符串算法之-单词反转

字符串算法之-单词反转

作者: 旭仔_2e16 | 来源:发表于2018-10-09 18:17 被阅读0次

    题目:"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);
        }
    

    相关文章

      网友评论

          本文标题:字符串算法之-单词反转

          本文链接:https://www.haomeiwen.com/subject/mreyaftx.html