1. 程式人生 > >LeetCode—generate-parentheses(所有括號的組合)—java

LeetCode—generate-parentheses(所有括號的組合)—java

題目描述

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:

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

思路解析

  • left代表左括號剩餘的個數,right代表右括號剩餘的個數
  • 如果左括號大於右括號的個數,就結束了
  • 如果都為0,就可以加入到ArrayList中

程式碼

import java.util.*;
public class Solution {
    public ArrayList<String> generateParenthesis(int n) {
        ArrayList<String> res = new ArrayList<String>();
        if(n<0)
            return res;
        String item = new String();
        helper(n,n,item,res);
        return res;
    }
   public void helper(int left,int right,String item,ArrayList<String> res){
       if(left>right)
           return ;
       if(left==0 && right==0){
           res.add(new String(item));
           return;
       }
       if(left>0){
           helper(left-1,right,item+'(',res);
       }
       if(right>0)
           helper(left,right-1,item+')',res);
   }
}

相關推薦

LeetCodegenerate-parentheses所有括號組合java

題目描述:Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a so

LeetCode 22 Generate Parentheses生成括號

classSolution{public:/** * @param n n pairs * @return All combinations of well-formed parentheses */ vector<string> generate

22. Generate Parentheses生成括號

Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthese

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

LeetCode 22. 括號生成 Generate ParenthesesC語言

題目描述: 給出 n 代表生成括號的對數,請你寫出一個函式,使其能夠生成所有可能的並且有效的括號組合。 例如,給出 n = 3,生成結果為: [ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ] 題目解答:

leetcode棧--5、valid-parentheses有效括號

brackets lin white cnblogs 匹配 ria order == style 題目描述 Given a string containing just the characters‘(‘,‘)‘,‘{‘,‘}‘,‘[‘and‘]‘, determine

LeetCode】22. Generate ParenthesesC++

地址:https://leetcode.com/problems/generate-parentheses/ 題目: Given n pairs of parentheses, write a function to generate all combinations of well

22. Generate ParenthesesLeetCode

題目:給定n對括號,編寫一個函式來生成格式正確的括號的所有組合。 示例: n = 3時,輸出應該為: [ "((()))", "(()())", "(())()", "()(())", "()()()" ] 思路:通過遞迴實現,具體看程式碼 cl

LeetCode 22. Generate Parentheses生成合法圓括號序列

題目描述:    Given n pairs of parentheses, write a function to generate all combinations of well-formed p

LeetCode--438. Find All Anagrams in a String找到所有字元組合Python

題目: 給定兩個字串s、p。找到s中和p包含相同字元的所有子串。 解題思路: 直接暴力搜尋s,固定長度,對p和s固定長度的子串分別進行排序,看兩者排序後是否相同。這樣是一種方法,但會超時。 另外一種方法是使用雜湊的方法。用兩個個1*26的list分別儲存p和s子串中各個字元

22. Generate Parenthesespython+cpp

題目: Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n = 3, a so

【筆記】浮動屬性float的應用08——液體兩列布局所有步驟組合在一起

第1步 - 從語義標記的程式碼開始 要將頁面佈置為兩列,您需要從基本頁面結構開始。在這種情況下,我們將使用一些虛擬內容來建立兩列模板。該頁面已被分為五個獨立的div,每個div都被賦予一個唯一的ID選擇器。div被標記; “容器”(包裹整個頁面的內容),“top”(用於頂部橫幅),“l

【筆記】浮動屬性float的應用07——浮動可縮放的首字下沉所有步驟組合在一起

第1步 - 從一段文字開始 在本練習中,我們希望強制將一個下降帽放在一段文字旁邊。我們還希望丟棄上限是可擴充套件的,無論使用者的預設字型大小如何 - 這意味著所有測量都將以ems或百分比表示。從一段簡單的文字開始。 第2步 - 在第一個字母周圍新增一個範圍 將規則應用於第一個字母有兩種方

【筆記】浮動屬性float的應用06——浮動內聯列表項所有步驟組合在一起

第1步 - 從簡單的無序列表開始 在本練習中,我們想要一個簡單的無序列表並將其轉換為水平導航欄。 我們將從一個簡單的無序列表開始。UL使用ID選擇器(id =“navigation”)設定樣式,並且兩個LI使用類選擇器(class =“left”和class =“right”)設定樣式。這裡

【筆記】浮動屬性float的應用05——使用列表浮動下一個和後一個按鈕所有步驟組合在一起

第1步 - 從一段文字和一個列表開始 在本練習中,我們希望向左浮動一個“後退”按鈕,在右側浮動一個“下一步”按鈕。我們可以使用兩個div,但為了簡單起見,我們將使用兩個列表項。 我們將從一段文字和一個簡單列表開始。UL使用ID選擇器(id =“navigation”)設定樣式,並且兩個LI使

【筆記】浮動屬性float的應用04—浮動影象縮圖庫所有步驟組合在一起

第1步 - 從一些縮圖和標題開始 在本練習中,我們希望將所有縮圖移動到行中,例如表格單元格。我們將要使用的方法允許任意數量的影象彼此相鄰,具體取決於包含框的寬度。 從6個影象和標題開始,每個影象和標題都在自己的div中。這些div都被賦予了一個名為“thumbnail”的類。 第2步 -

【筆記】浮動屬性float的應用02——浮動影象和標題所有步驟組合在一起

第1步 - 從一段文字和一張圖片開始 對於本練習,我們希望將影象強制到右側以允許內容與其一起流動。我們還想在影象下面有一個標題。 第2步 - 新增div影象和標題 第一個修改是HTML程式碼。在影象和標題周圍新增div。在這種情況下,我們還在div中添加了一個類選擇器(class =“f

LeetCode20. Valid Parentheses有效括號

Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.  The brackets must close i

[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: "(

22.Generate Parentheses&n對括號的全部有效組合

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n = 3, a so