字符串面试题 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. 括号的主要内容,如果未能解决你的问题,请参考以下文章

最强解析面试题:合法序括号序列判断

数据结构与算法几道和「堆栈队列」有关的面试算法题

栈队列面试题

前端面试题之手写promise

栈和队列相关面试题

括号常考面试题