Comment detail

文字列の反転(括弧の対応を保存) (Nested Flatten)

This comment is reply for 3504 dpp: エレガントでない気もしますが一応例示され...(文字列の反転(括弧の対応を保存)). Go to thread root.

投稿する場所間違えるわ、張りなおした際に間違えたコード張るわ、
括弧の交換を後でやる意味が無いわと散々でした。自分慌てすぎ。
以降はもっと落ち着いて投稿したいと思います・・・
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
def reverseString2(s, coding = 'shift_jis'):
    s = list(unicode(s, coding))
    stack = []
    dic = {')': '(', '}': '{', ']': '['}
    
    for i, c in enumerate(s):
        if stack and dic.get(c, '') == stack[-1][1]:
            s[stack[-1][0]], s[i] = s[i], s[stack[-1][0]]
            stack.pop()
        elif c in '(){}[]':
            stack.append((i, c))
    
    return ''.join(s[::-1]).encode(coding)

Index

Feed

Other

Link

Pathtraq

loading...