數(shù)字 n 代表生成括號(hào)的對(duì)數(shù),請(qǐng)你設(shè)計(jì)一個(gè)函數(shù),用于能夠生成所有可能的并且 有效的 括號(hào)組合。
示例輸入:n = 3
輸出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]
class Solution {Listres = new ArrayList<>();
public ListgenerateParenthesis(int n) {dfs(n,n,"");
return res;
}
private void dfs(int left,int right,String curStr) {if(left == 0 && right == 0) {res.add(curStr);
return;
}
if(left>0) {dfs(left - 1,right, curStr + "(");
}
if(right >left) {dfs(left,right - 1,curStr + ")");
}
}
}
python代碼class Solution:
def generateParenthesis(self, n: int) ->List[str]:
result = {''}
for i in range(n):
temp = set()
for s in result:
for j in range(len(s) + 1):
temp.add(s[:j] + '()' + s[j:])
result = temp
return list(result)
結(jié)束語1、Java用的遞歸。
2、python代碼采用插入括號(hào)對(duì)的方式,每次插入一個(gè)括號(hào)對(duì)“()”,插入位置為前一次插入的括號(hào)對(duì)中左括號(hào)右面每一個(gè)空隙。
3、這兩種方法都值得回過頭來好好看看。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前標(biāo)題:OJ練習(xí)第29題——括號(hào)生成-創(chuàng)新互聯(lián)
鏈接URL:http://aaarwkj.com/article16/giogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、用戶體驗(yàn)、網(wǎng)站內(nèi)鏈、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容