单词反转给定句子。(python,请不要使用诸如’’.split, [::-1]等时间/空间复杂度不是O(1)的函数)
示例
输入:
“what is your name”,
返回1 :“name your is what”
返回1 :“eman ruoy si tahw”
直接上代码
def swap1(s):
l = len(s)
for i, v in enumerate(s):
if i == l // 2:
break
s[i] = s[l - 1 - i]
s[l - 1 - i] = v
s = ''.join(s)
return s
def swap2(st):
def swap(s):
l = len(s)
for i, v in enumerate(s):
if i == l // 2:
break
s[i] = s[l - 1 - i]
s[l - 1 - i] = v
s = ' '.join(s)
return s
l = []
s = ''
for i, v in enumerate(st):
if v is ' ':
l.append(s)
s = ''
continue
s += v
l.append(s)
s = swap(l)
return s
s = 'what is your name'
s = swap1(list(s)) # eman ruoy si tahw
s = swap2(s) # name your is what

本文介绍了一种不使用高级函数的单词反转算法,通过两个自定义函数实现字符串中单词的反转,展示了如何在Python中手动反转字符串而不依赖于split或[::-1]等函数。
1129

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



