python:leetcode之reverse words in a string

要求: reverse words in a string

将abc def形式的字符串翻转成def abc,并且去掉多余的空格。

解法一:

将abc和def分开,然后使用list的reversed方法调换位置

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

class Reverse_str(object):
    """docstring for Reverse_str"""
    def __init__(self, arg=''):
        super().__init__()
        self.arg = arg

    def reverse_word(self, word=''):
        """docstring for reverse_word"""
        temp_list = list(reversed(list(word.split())))
        return(' '.join(temp_list))

instant_a = Reverse_str()
test_word = 'abc def'
print(instant_a.reverse_word(test_word))

运行结果:
python:leetcode之reverse words in a string_第1张图片

#解法二: 使用deque的rotate方法左移一个位置:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from collections import deque

class Reverse_str(object):
    """docstring for Reverse_str"""
    def __init__(self, arg=''):
        super().__init__()
        self.arg = arg

    def reverse_word_with_deque(self, word=''):
        """docstring for reverse_word_with_deque"""
        temp_que = deque(word.split())
        temp_que.rotate(-1)
        temp_list = list(temp_que)
        return(' '.join(temp_list))

instant_a = Reverse_str()
test_word = 'abc def'
print(instant_a.reverse_word_with_deque(test_word))

运行结果:

python:leetcode之reverse words in a string_第2张图片


参考:
https://docs.python.org/2/library/collections.html

python的deque用法

LeetCode题解整理版(二)

你可能感兴趣的:(python,leetcode)