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

本文共 1181 字,大约阅读时间需要 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?

链接:  

6/21/2017

3ms, 39%

注意不要遗漏了最后一个reverse,end都是exclusive的,这样跟其他库函数类似。

1 public class Solution { 2     public void reverseWords(char[] s) { 3         if (s == null || s.length == 0) { 4             return; 5         } 6         reverse(s, 0, s.length); 7         int start = 0; 8         for (int i = 1; i < s.length; i++) { 9             if (s[i] == ' ') {10                 reverse(s, start, i);11                 start = i + 1;12             }13         }14         reverse(s, start, s.length);15         return;16     }17     private void reverse(char[] s, int start, int end) {18         for (int i = start, j = end - 1; i < j; i++, j--) {19             char tmp = s[i];20             s[i] = s[j];21             s[j] = tmp;22         }23         return;24     }25 }

更多讨论

转载于:https://www.cnblogs.com/panini/p/7061523.html

你可能感兴趣的文章
web前端面试题2017
查看>>
ELMAH——可插拔错误日志工具
查看>>
MySQL学习笔记(四)
查看>>
【Crash Course Psychology】2. Research & Experimentation笔记
查看>>
两数和
查看>>
移动设备和SharePoint 2013 - 第3部分:推送通知
查看>>
SOPC Builder中SystemID
查看>>
MySQL数据库备份工具mysqldump的使用(转)
查看>>
NTP服务器配置
查看>>
关于 linux 的 limit 的设置
查看>>
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
vim中文帮助教程
查看>>
MySQL基础3
查看>>
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>