剑指offer44.翻转单词顺序列

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_36811967/article/details/86597919

题目描述
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

leetcode557. 反转字符串中的单词 III异曲同工:

# -*- coding:utf-8 -*-
class Solution:
    def ReverseSentence(self, s):
        # write code here
        s_list = s.split(' ')
        return ' '.join(s_list[::-1])

先句子翻转再单词翻转:

# -*- coding:utf-8 -*-
class Solution:
    def ReverseSentence(self, s):
        # write code here
        s, begin = list(s)[::-1], 0
        for i, char in enumerate(s):
            if char == ' ':
                s[begin:i] = s[begin:i][::-1]
                begin = i+1
        s[begin:] = s[begin:][::-1]
        return ''.join(s)

猜你喜欢

转载自blog.csdn.net/sinat_36811967/article/details/86597919