日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 22. 括号生成

發布時間:2025/5/22 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode 22. 括号生成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

難度:中等
頻次:62

題目:

數字 n 代表生成括號的對數,請你設計一個函數,用于能夠生成所有可能的并且 有效的 括號組合。

解題思路:DFS

DFS注意

  • 構造一棵樹,只要遍歷就行了
  • 遞歸結束條件是 left right(每次遍歷一個節點就為0) 的值為0
  • 需要剪枝,條件是需要left>right[因為這道題的前提就是,一個字符串里”(“必須要比“)”多,才有機會合成,不然你剩下一堆的”("沒地方用]
  • 每次遍歷都需要判斷條件,只有left和right>0才有必要進行相應的遍歷

代碼

class Solution {public List<String> generateParenthesis(int n) {List<String> res=new ArrayList<String>();dfs("",n,n,res);return res;}public void dfs(String s,int left,int right,List<String> res){if(left==0&&right==0) {res.add(s);return;}if(left>right){return;}//left、right必須>0,不然會走一些亂七八糟的遍歷if(left>0){dfs(s+"(",left-1,right,res);}if(right>0){dfs(s+")",left,right-1,res);}} }

總結

以上是生活随笔為你收集整理的leetcode 22. 括号生成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。