LeetCode:Valid Parentheses算法详解
来源:互联网 发布:海南省最新网络诈骗案 编辑:程序博客网 时间:2024/06/05 11:00
算法题目:Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.
The brackets must close in the correct order, “()” 、 “()[]{}” and “([])[{()}]”are all valid but “(]” and “([)]” are not.
大致意思:给定一个只包含’(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’这六个字符的字符串,要求判断字符串是否满足要求,要求是:以正确的次序关闭,例如:”()” 、 “()[]{}” 和 “([])[{()}]”是正确的,而”(]” and “([)]”是错误的。
思路:典型的递归算法题,将字符串分成两个串s1、s2,初始化s1=”“,s2=s,判断字符串s1的末尾字符与s2的开头字符是否配对,若配对,则将s1的末尾字符删除,s2的开头字符串删除,若不配对,则将s2[0]移到s1的末尾,然后继续递归下去。
bool MyValidCore(string s1,string s2){ if(s1.size()==0&&s2.size()==0)return true; else if(s1.size()>0&&s2.size()==0)return false; if(s1.size()==0) { s1+=s2[0]; s2=s2.substr(1); return MyValidCore(s1,s2); } int l1=s1.size(); if((s1[l1-1]=='('&&s2[0]==')')||(s1[l1-1]=='['&&s2[0]==']')||(s1[l1-1]=='{'&&s2[0]=='}')) { s1=s1.substr(0,l1-1); s2=s2.substr(1); } else { s1+=s2[0]; s2=s2.substr(1); } return MyValidCore(s1,s2);} bool isValid(string s) { if(s.size()==0||s.size()%2==1)return false; return MyValidCore("",s); }
0 0
- LeetCode:Valid Parentheses算法详解
- LeetCode算法题之Valid Parentheses
- 算法学习笔记[LeetCode]Valid Parentheses
- LeetCode算法题目:Longest Valid Parentheses
- 【LeetCode算法练习(C++)】Valid Parentheses
- LeetCode: Valid Parentheses
- LeetCode: Longest Valid Parentheses
- LeetCode: Valid Parentheses
- LeetCode Longest Valid Parentheses
- [Leetcode] Valid Parentheses
- LeetCode: Longest Valid Parentheses
- [Leetcode] Longest Valid Parentheses
- LeetCode : Valid Parentheses
- [leetcode]longest Valid Parentheses(!!)
- Leetcode: Valid Parentheses
- leetcode 52: valid parentheses
- [Leetcode] Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- POJ 1118 && HDU 1432 Lining Up(计算几何)
- Android编译、打包的步骤
- 重要的事情看三遍!!!!!(持续更新中
- 登陆验证(ajax)
- 子类与父类中同名的变量是private,而父类中是public
- LeetCode:Valid Parentheses算法详解
- c语言-数组
- 辜舱祭铀只岳按酌咽
- 安装bcrypt报错node-gyp rebuild解决方法
- AFNetwork 2.5 修正版
- POJ 1816 Wild Words 字典树+DFS
- C#Dev DateEdit控件判定日期取值区间
- 修改JavaScript脚本并离线编译后将数据同步到Web和Web app
- IOS菜鸟的所感所思(十二)——专辑接口和专辑中歌曲数据的获得(下)