1.557.给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例
输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc"
注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2019-7-29 12:26
# @Author : Arrow and Bullet
# @FileName: 1.557.reverseWords.py
# @Software: PyCharm
"""
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
输入 : "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc"
"""
def reverse_words(s):
"""
:type s: str
:rtype: str
1,将字符串以空格拆开
2.每个单词的字符反转
3.连接所有单词,并以空格隔开
"""
return ' '.join([word[::-1] for word in s.split(' ')])
if __name__ == "__main__":
s = "Let's take LeetCode contest"
print(reverse_words(s))
java
/**
* 转换字符串
* @param s 需要转换的字符串
* @return 转换完成后的字符串
* 1.将字符串以空格拆开
* 2.拆开后的单词反转字符,并在面加上空格
* 3.将所有单词连接成一个字符串
*/
public String reverseWords(String s) {
String[] words = s.split(" ");
StringBuilder sb = new StringBuilder();
for (String word : words) {
sb.append(new StringBuffer(word).reverse().toString() + " ");
}
return sb.toString().trim();
}