557. 反转字符串中的单词 III
557. 反转字符串中的单词 III
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
- 示例:
输入:“Let’s take LeetCode contest”
输出:“s’teL ekat edoCteeL tsetnoc”
解题思路
由于String类型是不可修改的,所以可以用StringBuffer或者char[]来进行
由于char[]效率更高,所以利用toCharArray,转换到char[]类型。
然后就开始遍历碰到’ '就暂停然后,这个区间进行排序即可。因此需要引入又给变量储存。
代码
class Solution {public String reverseWords(String s) {char[] str = s.toCharArray();int index = 0;for (int i = 0; i < str.length; i++) {if (str[i] == ' ') {reverse(str, index, i - 1);index = i + 1;}}reverse(str, index, str.length - 1);return new String(str);}private void reverse(char[] str, int left, int right) {for(int i = left; i <= (left + right) / 2; i++){str[i] ^= str[right+left-i] ^ (str[right+left-i] = str[i]); //位运算永远是交换最快的 }}
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
557. 反转字符串中的单词 III相关推荐
- 557. 反转字符串中的单词 III golang 数组和字符串反转
题目 189.反转数组 557. 反转字符串中的单词 III 557. 反转字符串中的单词 III LeetCode链接 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初 ...
- C#版(击败97.76%的提交) - Leetcode 557. 反转字符串中的单词 III - 题解
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...
- LeetCode 557. 反转字符串中的单词 III
文章目录 1. 题目描述 2. 解题思路 3. 代码实现 1. 题目描述 题目链接:557. 反转字符串中的单词 III 2. 解题思路 此题也可以直接在原字符串上进行操作,避免额外的空间开销. 当找 ...
- LeetCode 557. 反转字符串中的单词 III(栈)
文章目录 1. 题目信息 2. 解题 2.1 栈 2.2 STL reverse() 1. 题目信息 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: ...
- 【leetcode】557 反转字符串中的单词III(字符串)
题目链接:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/ 题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序 ...
- 从零单刷Leetcode(JAVA描述)—— 557. 反转字符串中的单词 III
链接:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格 ...
- LeetCode 557 反转字符串中的单词 III
LeetCode 557.给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时保留空格和初始单词顺序. class Solution {public String reverseWords( ...
- 文巾解题 557. 反转字符串中的单词 III
1 题目描述 2 解题思路 2.1 单词倒转+使用join函数 import copy class Solution(object):def reverseWords(self, s):"& ...
- leetcode 557. 反转字符串中的单词 III(Java版)
题目 https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/ 题解 class Solution {public String ...
最新文章
- 使用apidocJs快速生成在线文档
- Android系统Recovery工作原理之使用update.zip升级过程分析(五)
- Linux编程获取网络信息总结
- 分布式系统——zabbix 用 onealert实现报警、agent主动模式、proxy代理
- 神策数据实战学堂开课,分享行业最佳业务和技术实践
- Ext1.X的CheckboxSelectionModel默认全选之后不允许编辑的BUG解决方案
- mysql1577_使用Navicat for MySQL的1577错误解决办法
- 桌面在计算机哪个文件夹,windows的桌面文件夹是哪个?
- c++ stl 获取最小值_如何在C ++ STL中找到向量的最小/最小元素?
- 北航计算机学院博士机试考试题,北航2015考博真题回忆及全套资料 - 考博 - 小木虫 - 学术 科研 互动社区...
- python执行批处理文件_如何从Python中执行批处理文件,从而改变调用进程的环境?...
- 9种让肌肤美白的简单方法 - 生活至上,美容至尚!
- 微信小程序下载pdf到本地的坑
- 学生成绩管理系统 需求规格说明书
- 在网页中加入“加载中提示”的方法
- win7系统64位下安装sql server2000时提示兼容性问题
- C#文字播放语音功能System.Speech类库的使用
- Spark RDD常用算子-Transformation(Python版)
- html 气泡动画效果,CSS 动画实现动态气泡背景的方法
- TextGrabber重大更新,识别文字并实时离线翻译,支持中文
热门文章
- C#(WinForm) + MySQL的中文编码问题(MySQL中文编码的终极解决方案)
- 第十届 蓝桥杯样题 ——结果填空
- 2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - B. 星系炸弹
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1053:最大数输出
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹、避障、遥控实验综合程序
- Java 利用InetAddress类确定特殊Ip地址
- 【机器视觉】 endif算子
- 【Tools】虚拟串口工具之VSPD10
- 【嵌入式】Modbus TCP功能码
- 【Qt】Qt窗口程序