华为4.14机考第一题翻转字符串


while True: try:
        s = input()
        n = s.count('(')
        s = list(s) for j in range(n):
            c = 0  li = [] for k in s: if k =='(':
                    c = c + 1  if k == ')':
                    c = c - 1  li.append(c) for i in range(len(s)): if s[i] =='(':
                    l = i + 1  c = c + 1  if s[i] == ')':
                    r = i
                    c = c - 1  if c == sorted(li)[-1]:
                        s[l:r] = s[l:r][::-1]
                        s.pop(l-1)
                        s.pop(r-1) print(''.join(s)) except: break


#华为##笔试题目#
全部评论
题目是: 逐层的把括号里面的字符串翻转: (asd)变成dsa (s(sd)(sf)s(s(fr))) 要保证最内层的括号翻转完成再进行外层括号的翻转
点赞 回复 分享
发布于 2021-04-15 17:39

相关推荐

08-16 10:51
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务