百度合法括号序列

图片说明

最近怎么老喜欢考这个括号~~

#include <iostream>
#include <stack>
using namespace std;
int main() {
    string s;
    cin >> s;
    stack sk;
    sk.push(s[0]);
    for (int i = 1; i < s.length(); i++) {
        if (s[i] == ']' && sk.top() == '[') {
            sk.pop();
        } else {
            sk.push(s[i]);
        }
    }
    while (!sk.empty()) {
        char top = sk.top();
        sk.pop();
        if (top == '[') {
            s += ']';
        } else {
            s = '[' + s;
        }
    }
    cout << s;
    return 0;
}
#百度#
全部评论
var readline=require("readline"); var r2=readline.createInterface({ input:process.stdin, output:process.stdout }); var arr1 = []; r2.on("line",function(line){ arr1.push(line); var str=line; if(str) { var n= howManyTimesPopStr(str); console.log(n.join("")); } }) function howManyTimesPopStr(s){ //京东的第二道笔试题 var str=s; var count=0,i=0,j,stack=[],arr=[],sum=1; while(i<str.length){ switch(str[i]){ case "[": stack.push(str[i]); arr.push(str[i]); count++; break; case "]": var x=stack[stack.length-1]; if(x=='['){ stack.pop(); arr.push(']'); }else{ stack.push("]"); arr.push(']'); } break; } i++; } while(stack.length>0){ var x=stack.pop(); if(x=='['){ arr.push(']'); }else{ arr.unshift('['); } } return arr; }
点赞 回复 分享
发布于 2017-09-11 21:56

相关推荐

专心打鱼:互联网搬运工,贴子都要偷
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务