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

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

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?

这道题要求in-place做法,不能使用extra space, 那么,做法跟那道题非常相似

(1)reverse the whole array

(2)reverse each subarray seperated by ' '

注意不要忘了reverse最后一个word

1 public void reverseWords(char[] s) { 2     // Three step to reverse 3     // 1, reverse the whole sentence 4     reverse(s, 0, s.length - 1); 5     // 2, reverse each word 6     int start = 0; 7     int end = -1; 8     for (int i = 0; i < s.length; i++) { 9         if (s[i] == ' ') {10             reverse(s, start, i - 1);11             start = i + 1;12         }13     }14     // 3, reverse the last word, if there is only one word this will solve the corner case15     reverse(s, start, s.length - 1);16 }17 18 public void reverse(char[] s, int start, int end) {19     while (start < end) {20         char temp = s[start];21         s[start] = s[end];22         s[end] = temp;23         start++;24         end--;25     }26 }

 

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

你可能感兴趣的文章
java mkdir()和mkdirs()区别
查看>>
桌面支持--excel自动换行
查看>>
虚拟化--003 vcac licence -成功案例
查看>>
windows server 2003各版本及2008各版本的最大识别内存大小
查看>>
OSChina 周六乱弹 ——揭秘后羿怎么死的
查看>>
centos查找未挂载磁盘格式化并挂载
查看>>
IT人员的职业生涯规划
查看>>
sorry,you must have a tty to run sudo
查看>>
ios开发中使用正则表达式识别处理字符串中的URL
查看>>
项目中的积累,及常见小问题
查看>>
Python类型转换、数值操作(收藏)
查看>>
注释书写格式
查看>>
oracle11g dataguard 安装手册(转)
查看>>
java并发包分析之———Deque和LinkedBlockingDeque
查看>>
1. Two Sum - Easy - Leetcode解题报告
查看>>
SQLiteHelper
查看>>
多线程---同步函数的锁是this(转载)
查看>>
鱼C记事本V1.0(下)- 零基础入门学习Delphi28
查看>>
百练 2742 统计字符数 解题报告
查看>>
Ubuntu搜狗输入法候选词乱码
查看>>