码迷,mamicode.com
首页 > 其他好文 > 详细

921. Minimum Add to Make Parentheses Valid

时间:2020-03-21 00:09:58      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:eval   遍历   ini   int   添加   else   style   写作   minimum   

 

给定一个由 ‘(‘ 和 ‘)‘ 括号组成的字符串 S,我们需要添加最少的括号( ‘(‘ 或是 ‘)‘,可以在任何位置),以使得到的括号字符串有效。

从形式上讲,只有满足下面几点之一,括号字符串才是有效的:

  • 它是一个空字符串,或者
  • 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者
  • 它可以被写作 (A),其中 A 是有效字符串。

给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。

# left表示需要的左括号数,right表示需要的右括号数。
# 遍历字符串s,
# 如果遇到左括号,说明此时需要再加右括号,right+1
# 如果遇到右括号,且right大于0,说明当前右括号可以匹配之前的左括号,不需要再加右括号,若此时right等于0,那么说明需要一个左括号

 

 1 class Solution(object):
 2     def minAddToMakeValid(self, S):
 3         """
 4         :type S: str
 5         :rtype: int
 6         """
 7 
 8         left,right=0,0
 9         for ch in S:
10             if(ch==():
11                 right+=1
12             elif(ch==)):
13                 if(right>0):
14                     continue
15                 else:
16                     left+=1
17         
18         return left+right

 

921. Minimum Add to Make Parentheses Valid

标签:eval   遍历   ini   int   添加   else   style   写作   minimum   

原文地址:https://www.cnblogs.com/zijidan/p/12535739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!