单词反转给定句子。(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