zoukankan      html  css  js  c++  java
  • LeetCode_Generate Parentheses

     Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
    
    For example, given n = 3, a solution set is:
    
    "((()))", "(()())", "(())()", "()(())", "()()()"
    

      

    class Solution {
    public:
        DFS(string s, int left, int right)
        {
            if(left + right == n * 2){
                res.push_back(s);
                return;
            }
            if(left == right){
                s += '(';
                DFS(s, left+1, right);
            }else  if(left > right){
                if(left < n){
                    DFS(s+'(', left+1, right);
                }
                DFS(s+')', left, right +1);
            }
        }
        vector<string> generateParenthesis(int n) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            res.clear();
            this->n = n;
            string s = "";
            DFS(s, 0, 0);
            return res;
        }
    private:
        vector<string> res;
        int n;
    };
  • 相关阅读:
    ubuntu 1804 docker install
    windows shortcut
    gallary
    g++ play
    linux profile
    terminator
    tmux
    ubuntu18
    windows toolkit
    windows terminal CLI
  • 原文地址:https://www.cnblogs.com/graph/p/3301949.html
Copyright © 2011-2022 走看看