单词反转给定句子(python)

单词反转给定句子。(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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值