7
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @author wylu
*/
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] str = br.readLine().toCharArray();
int count = 0;
StringBuilder sb = new StringBuilder();
for (char ch : str) {
if (ch == '[') count++;
else {
if (count == 0) sb.insert(0, '[');
else count--;
}
sb.append(ch);
}
for (int i = 0; i < count; i++) sb.append(']');
System.out.println(sb);
}
}
发表于 2019-01-17 23:12:24
回复(1)
2
var s = readline();
var news = [], count = 0,needr = 0, needl = 0;
for (var i in s){
if(s[i]=="]"){
var index = news.indexOf("[") // 数组中是否有可以匹配的右括号
if(index>=0){
news.splice(index,1); // 有,删除数组中的右括号
needl--; //最后所需的用来匹配右括号的左括号也因此减1
}
else{
news.push(s[i]);// 没有,将改左括号插入数组
needr++;//最后所需的用来匹配该左括号的右括号也因此加1
}
}
else if(s[i]=="["){
news.push(s[i]); //如果是右括号,插入
needl++;//所需要的左括号加1
}
}
var l = "";
for (var k =0; k
l +="]" //共需要几个左括号
}
var r = "";
for (var k =0; k
r +="[" //共需要几个右括号
}
print(r+s+l);
发表于 2018-08-15 10:45:44
回复(1)
2
"""
@author : liang
"""
def solution(s):
if s=="":
return ""
count=0
t=""
for i in s:
if i=="[":
count+=1
else:
count-=1
if count<0:
t="["+t
count=0
while count>=1:
s+="]"
count-=1
return t+s
s=raw_input().strip()
print solution(s)
发表于 2018-07-18 16:41:08
回复(0)
1
class Solution:
def isVaild(self, s):
stack = []
stack.append(s[0])
for i in range(1, len(s)):
if len(stack) > 0:
if s[i] == ']' and '[' == stack[-1]:
stack.pop()
else:
stack.append(s[i])
else:
stack.append(s[i])
s = list(s)
for i in stack:
if i == ']':
s.insert(0, '[')
else:
s.append(']')
return ''.join(s)
so = Solution()
s = input()
res = so.isVaild(s)
print(res)
发表于 2019-04-02 11: