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

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

Given an input string, reverse the string word by word. A word is defined as a sequence of non-space characters.

The input string does not contain leading or trailing spaces and the words are always separated by a single space.

For example,

Given s = "the sky is blue",
return "blue is sky the".

Could you do it in-place without allocating extra space?

Analysis:

We reverse the whole string first, and then reverse each word again.

Solution:

public class Solution {    public void reverseWords(char[] s) {        reverse(s,0,s.length-1);        int p1=0,p2=0;        while (p1 < s.length){            p2 = p1;            while (p2 < s.length && s[p2]!=' '){                p2++;            }            reverse(s,p1,p2-1);            p1 = p2+1;        }    }    public void reverse(char[] s, int start, int end){        while (start < end){            char temp = s[start];            s[start++] = s[end];            s[end--] = temp;        }    }}

 

转载于:https://www.cnblogs.com/lishiblog/p/5821617.html

你可能感兴趣的文章
Linux pipe函数
查看>>
java equals 小记
查看>>
2019春 软件工程实践 助教总结
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
国外常见互联网盈利创新模式
查看>>
android:scaleType属性
查看>>
shell脚本
查看>>
Upload Image to .NET Core 2.1 API
查看>>
【雷电】源代码分析(二)-- 进入游戏攻击
查看>>
Linux中防火墙centos
查看>>
如何设置映射网络驱动器的具体步骤和方法
查看>>
centos下同时启动多个tomcat
查看>>
Leetcode Balanced Binary Tree
查看>>
[JS]递归对象或数组
查看>>
linux sed命令
查看>>