Java-LeetCode22. 括号生成-回溯法

括号生成

http://www.nowcoder.com/questionTerminal/c9addb265cdf4cdd92c092c655d164ca

  • 算法
    • 1.回溯法:回溯的过程是函数的进入与退出
    • 2.记录左括号和右括号的数量:
      • 当左括号数量小于n时继续添加左括号
      • 当右括号数量小于左括号时继续添加右括号
public List<String> generateParenthesis(int n) {
    ArrayList<String> result = new ArrayList<>(10);
    backtrack("", 0, 0, n, result);
    return result;
}

private void backtrack(String string, int open, int close, int n, List<String> result) {
    if (string.length() == n << 1) {
        result.add(string);
        return;
    }
    if (open < n) {
        backtrack(string+"(", open+1, close, n, result);
    }
    if (close < open) {
        backtrack(string+")", open, close+1, n, result);
    }
}
全部评论
什么意思,左括号一直加到最后不全都是左括号吗,还要再做判断吗
点赞 回复 分享
发布于 2022-03-30 16:39
太强了,这怎么想到的。
点赞 回复 分享
发布于 2022-03-12 00:38
中午睡觉前看了一下,觉得代码很简单,但是思路还不是很有。睡完觉后的十分钟,突然来了思路,跟代码一毛一样嘿嘿。觉得有帮助,感谢
点赞 回复 分享
发布于 2021-07-14 13:44

相关推荐

12-19 20:28
已编辑
门头沟学院 Java
美团履约 全栈工程师 (n+1)*15.5 其他
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
27
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务