首页 > 其他 > 详细

22. 括号生成(深搜+回溯)

时间:2020-06-06 00:57:27      阅读:51      评论:0      收藏:0      [点我收藏+]

题目描述

leetcode - 22:https://leetcode-cn.com/problems/container-with-most-water/

技术分享图片

解题关键

  • 深搜
  • 回溯

碎碎念

感觉自己一直对dfs这东西有点迷,不太会写,这次主要参考了大佬的答案。希望自己多写写有一天能灵光一现彻底搞懂了这玩意儿吧。嗨。

代码

void dfs(vector<string>& ans,string tmp,int n, int left, int right){
    if( right>left || left>n || right>n ) return;
    if(left == right && left == n) ans.push_back(tmp);
    dfs(ans,tmp+‘(‘,n,left+1,right);
    dfs(ans,tmp+‘)‘,n,left,right+1);
}
vector<string> generateParenthesis(int n) {
    vector<string> ans;
    int left = 0;
    int right = 0;
    dfs(ans,"",n,left,right);
    return ans;
}

22. 括号生成(深搜+回溯)

原文:https://www.cnblogs.com/baboon/p/13053049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!