S*******C 发帖数: 822 | 1 Amazon面试题, leetcode变种
string 有标点符号,我不希望标点符号被倒过来, 例如 “abc, def” ,结果是“
cba, def”,给的标点符号包括 “, 。 ! ?” | c******o 发帖数: 224 | 2 你给的结果有问题吧。
另外你怎么处理空格就怎么处理标点符号
【在 S*******C 的大作中提到】 : Amazon面试题, leetcode变种 : string 有标点符号,我不希望标点符号被倒过来, 例如 “abc, def” ,结果是“ : cba, def”,给的标点符号包括 “, 。 ! ?”
| z****8 发帖数: 5023 | | t********5 发帖数: 522 | 4 nvm 有bug 把generator改成while loop就好了
要in place的话就只有用最傻瓜的一个index一个index的看了
import re
def reverse(string):
words = map(lambda x: x[::-1], re.split('\W+', string))
symbol = re.split('\w+', string)[1:-1]
combinedResult = list(generateNewString(iter(words), iter(symbol)))
return ''.join(combinedResult)
def generateNewString(words, symbol):
while True:
yield words.next()
yield symbol.next()
print reverse('abc, def') |
|