博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
151. Reverse Words in a String
阅读量:5983 次
发布时间:2019-06-20

本文共 1408 字,大约阅读时间需要 4 分钟。

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();    }}

转载地址:http://flrox.baihongyu.com/

你可能感兴趣的文章
使用MapReduce实现一些经典的案例
查看>>
5 . 4 . 3 架构
查看>>
类静态和实例化执行顺序优先级(静态构造函数、静态变量、静态方法)
查看>>
ajax提交param 后台接受是对象
查看>>
ajax基础一
查看>>
http://cuiqingcai.com/993.html
查看>>
【NOI2018模拟5】三角剖分Bsh
查看>>
redis安装使用
查看>>
【干货】Java岗面试考点大合集
查看>>
Android安全开发之浅谈密钥硬编码
查看>>
iOS 计算两个日期字符串的差值
查看>>
UTF-8 编码及检查其完整性
查看>>
由一条微博引发的 — Xcode LLDB 调试断点总结
查看>>
Android NDK开发扫盲及最新CMake的编译使用
查看>>
Weex开发系列(一):初识Weex
查看>>
开源 UI 库中,唯一同时实现了大表格虚拟化和树表格的 Table 组件
查看>>
找到思聪王
查看>>
[译] 学习 Spring Security(五):重发验证邮件
查看>>
快速的React Native开发方法
查看>>
Spring核心系列之AOP(一)
查看>>