对于一个长度为 n 字符串,我们需要对它做一些变形。
首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把这个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。
比如"Hello World"变形后就变成了"wORLD hELLO"。
数据范围: 1\le n \le 10^61≤n≤106 , 字符串中包括大写英文字母、小写英文字母、空格。
进阶:空间复杂度 O(n)O(n) , 时间复杂度 O(n)O(n)
给定一个字符串s以及它的长度n(1 ≤ n ≤ 10^6)
请返回变形后的字符串。题目保证给定的字符串均由大小写字母和空格构成。
输入:
"This is a sample",16
复制
返回值:
"SAMPLE A IS tHIS"
输入:
"nowcoder",8
返回值:
"NOWCODER"
输入:
"iOS",3
返回值:
"Ios"
思路:
代码:
class Solution:
def trans(self , s: str, n: int) -> str:
# write code here
#以空格分割字符串为列表
li = s.split(" ")
#反转列表
li = li[::-1]
s = ''
#大小写互换
for word in li:
word = word.swapcase()
s += word
#拼接字符串,最后会多一个空格
s+= " "
#输出截取长度为n,去除最后的空格
return s[0:n]
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。