字符串面试题 08.09. 括号
Posted ocpc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串面试题 08.09. 括号相关的知识,希望对你有一定的参考价值。
题目:
解答:
只有在我们知道序列仍然保持有效时才添加 ‘(‘ or ‘)’。我们可以通过跟踪到目前为止放置的左括号和右括号的数目来做到这一点。
如果我们还剩一个位置,我们可以开始放一个左括号。 如果它不超过左括号的数量,我们可以放一个右括号。
1 class Solution { 2 3 vector<string> res; 4 public: 5 vector<string> generateParenthesis(int n) 6 { 7 backtrack("",0,0,n); 8 return res; 9 } 10 11 void backtrack(string temp,int left,int right,int n) 12 { 13 if(temp.length() == n*2) 14 { 15 res.push_back(temp); 16 return ; 17 } 18 if(left<n) 19 { 20 backtrack(temp+‘(‘,left+1,right,n); 21 } 22 if(right<left) 23 { 24 backtrack(temp+‘)‘,left,right+1,n); 25 } 26 } 27 };
以上是关于字符串面试题 08.09. 括号的主要内容,如果未能解决你的问题,请参考以下文章