#1.①翻转单词中的所有字符 ②翻转单词中字符顺序
def reverse(s, start, end):
while start < end:
s[start], s[end] = s[end], s[start]
start += 1
end -= 1
def ReverseSentence(s):
if not s:
return s
s = list(s)
reverse(s, 0, len(s) - 1)
start, end = 0, 0
while start < len(s):
if s[start] == '':
start += 1
end += 1
elif end == len(s) or s[end] == ' ':
reverse(s, start, end - 1)
end += 1
start = end
else:
end += 1
return "".join(s)
print(ReverseSentence("I am a student"))
2.字符串旋转操作
#左旋转操作是把前面若干个字符串转移到字符串尾部
#以"abcdefg"为例,可以将其分为两部分,因为想把前两个字符翻转到后面,可以把前两个字符分为一部分,后面所有的分为一部分。
# 先分别翻转这两部分得到bagfedc,接着在翻转整个字符串得到cdefgab,刚好就是把原始字符串左旋转两位的结果
def LeftRotateString(s, k):
if s is not None:
s = list(s)
if len(s) > 0 and k > 0 and k < len(s):
reverse(s, 0, k - 1)
reverse(s, k, len(s) - 1)
reverse(s, 0, len(s) - 1)
return "".join(s)
print(LeftRotateString("abcdefg", 2))
翻转单词顺序-python
最新推荐文章于 2023-11-22 15:19:35 发布
本文介绍了如何使用Python解决LeetCode中的单词翻转问题,详细解析了算法思路与代码实现,帮助理解字符串操作技巧。
819

被折叠的 条评论
为什么被折叠?



