301. Remove Invalid Parentheses 我的没ac
来源:互联网 发布:windows屏幕水印 编辑:程序博客网 时间:2024/06/05 23:21
Remove the minimum number of invalid parentheses in order to make the input string valid. Return all possible results.
Note: The input string may contain letters other than the parentheses (
and )
.
Examples:
"()())()" -> ["()()()", "(())()"]"(a)())()" -> ["(a)()()", "(a())()"]")(" -> [""]
class Solution {public: vector<string> removeInvalidParentheses(string s) { vector<string> res; if(s.empty()){ res.push_back(s); return res; } for(int i=0;i<s.size();){ if(s[i]==')'){ string ss=s.substr(0,i); ss+=s.substr(i+1,s.size()-i-1+1); s=ss; } //return false; else if(s[i]=='('){ break; } else i++; } for(int i=s.size()-1;i>=0;){ if(s[i]=='('){ string ss=s.substr(0,i); ss+=s.substr(i+1,s.size()-i-1+1); s=ss; } //return false; else if(s[i]==')') break; else i--; } int c_left=0,c_right=0; for(int i=0;i<s.size();i++){ if(s[i]==')'){ c_right++; } else if(s[i]=='('){ c_left++; } } int dif=c_left-c_right; if(dif==0){ res.push_back(s); return res; } else if(dif>0){ bool first=false; bool adj=false; for(int i=0;i<s.size();i++){ if(first==false&&s[i]=='('){ first=true; } else if(s[i]==')'){ adj=false; } else if(s[i]=='('&&adj==false){ string ss=s.substr(0,i); ss+=s.substr(i+1,s.size()-i-1+1); res.push_back(ss); adj=true; } } return res; } else if(dif<0){ bool first=false; bool adj=false; for(int i=s.size()-1;i>=0;i--){ if(first==false&&s[i]==')'){ first=true; } else if(s[i]=='('){ adj=false; } else if(s[i]==')'&&adj==false){ string ss=s.substr(0,i); ss+=s.substr(i+1,s.size()-i-1+1); res.push_back(ss); adj=true; } } return res; } res.push_back(s); return res; }};
阅读全文
0 0
- 301. Remove Invalid Parentheses 我的没ac
- 301. Remove Invalid Parentheses
- 301. Remove Invalid Parentheses
- 301. Remove Invalid Parentheses
- 301. Remove Invalid Parentheses
- 301. Remove Invalid Parentheses
- 301. Remove Invalid Parentheses
- 301. Remove Invalid Parentheses
- 301. Remove Invalid Parentheses
- 301. Remove Invalid Parentheses
- Leetcode 301. Remove Invalid Parentheses
- leetcode 301. Remove Invalid Parentheses
- [leetcode] 301. Remove Invalid Parentheses
- leetcode.301. Remove Invalid Parentheses
- [LeetCode]--301. Remove Invalid Parentheses
- Leetcode 301. Remove Invalid Parentheses
- 【LeetCode】301. Remove Invalid Parentheses
- [LeetCode]301. Remove Invalid Parentheses
- Google算法题:不同的子序列出现目标串的次数
- 使用 global key 一键启动应用程序
- 【2017年中总结】春宵一刻值千金
- caffe之deconv
- 直通bat算法课程优惠码(优惠10元)
- 301. Remove Invalid Parentheses 我的没ac
- Q137:PBRT-V3,各种采样(Sampling)之间的逻辑
- API VS SPI
- Spring的jdbcTemplate使用方法
- Hadoop YARN中内存和CPU两种资源的调度和隔离
- php7环境下安装php-devel
- 基于面向对象的编程的优势与劣势
- Synergy无法复杂粘贴问题
- 芯片测试