您的位置:首页 > 编程语言 > Python开发

python:leetcode之reverse words in a string

2016-02-21 17:30 573 查看

要求: 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))


运行结果:



#解法二:
使用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))


运行结果:



参考:

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

python的deque用法

LeetCode题解整理版(二)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: