zoukankan      html  css  js  c++  java
  • [LeetCode] #22 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:

    "((()))", "(()())", "(())()", "()(())", "()()()"

    本题是括号匹配输出,利用迭代输出。时间:3ms

    代码如下:

    class Solution {
    public:
        void unguarded_generate(vector<string> &result, string curr, int m, int n){
            if (m == 0 && n == 0){
                result.push_back(curr);
            }
            else{
                if (m != 0){
                    cout << curr << endl;
                    unguarded_generate(result, curr + "(", m - 1, n);
                }
                if (m < n && n != 0){
                    cout << curr << endl;
                    unguarded_generate(result, curr + ")", m, n - 1);
                }
            }
        }
    
        vector<string> generateParenthesis(int n) {
            vector<string> ret;
            if (n > 0){
                unguarded_generate(ret, string(), n, n);
            }
            return ret;
        }
    };
    “If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime.”
  • 相关阅读:
    JavaScripts广告轮播图以及定时弹出和定时隐藏广告
    JavaScript正则表达
    表单常用标签 和 属性
    html框架集
    Hbuilder 快捷键
    css 图片
    html input accept类型
    db2 sql
    js 数组排序
    html input size maxlength
  • 原文地址:https://www.cnblogs.com/Scorpio989/p/4545075.html
Copyright © 2011-2022 走看看