151. Reverse Words in a String

栏目: Java · 发布时间: 6年前

内容简介:Given an input string, reverse the string word by word.Example:Note:

Given an input string, reverse the string word by word.

Example:

Input: "the sky is blue",
Output: "blue is sky the".

Note:

A word is defined as a sequence of non-space characters.
Input string may contain leading or trailing spaces. However, your reversed string should not contain leading or trailing spaces.
You need to reduce multiple spaces between two words to a single space in the reversed string.

Follow up: For C programmers, try to solve it in-place in O(1) space.

难度:medium

题目:给定字符串,反转字符串中的单词。

注意:单词指一组非空字符。输入的字符串可能包含前后空格。你需要在两个单词之间只保留一个空格。

思路:先反转,然后逐个单词反转。

Runtime: 9 ms, faster than 37.01% of Java online submissions for Reverse Words in a String.

Memory Usage: 38.8 MB, less than 100.00% of Java online submissions for Reverse Words in a String.

public class Solution {
    public String reverseWords(String s) {
        StringBuilder sb = new StringBuilder(" " + s + " ");
        sb.reverse();
        StringBuilder result = new StringBuilder();
        int begin = 0;
        for (int i = 0; i < sb.length() - 1; i++) {
            char c1 = sb.charAt(i);
            char c2 = sb.charAt(i + 1);
            if (c1 == ' ' && c2 != ' ') {
                begin = i;
            } else if (c1 != ' ' && c2 == ' ') {
                for (int j = i; j >= begin; j--) {
                    result.append(sb.charAt(j));
                }
            }
        }
        
        return result.toString().trim();
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法技术手册

算法技术手册

George T. Heineman、Gary Pollice、Stanley Selkow / 杨晨、李明 / 机械工业出版社 / 2010-3 / 55.00元

《算法技术手册》内容简介:开发健壮的软件需要高效的算法,然后程序员们往往直至问题发生之时,才会去求助于算法。《算法技术手册》讲解了许多现有的算法,可用于解决各种问题。通过阅读它,可以使您学会如何选择和实现正确的算法,来达成自己的目标。另外,书中的数学深浅适中,足够使您可以了解并分析算法的性能。 较之理论而言,《算法技术手册》更专注于应用。《算法技术手册》提供了高效的代码解决方案,使用多种语言......一起来看看 《算法技术手册》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具