算法 --- 递归生成括号
生活随笔
收集整理的這篇文章主要介紹了
算法 --- 递归生成括号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
思路:
1.首先生成n個括號
2.左括號數量(記為l)不超過n
3.右括號數量(記為r)不超過n,且優先生成左括號(即 l < r)
4.需要設計一個遞歸式h(str,l,r)
總體代碼
var generateParenthesis = function(n) {let retArr = [];function h(str, l, r){if(l === n && r === n){retArr.push(str)}if( l < n){h(str + '(', l+1, r)}if( r < l){h(str + ')', l, r+1)}}h('',0,0)return retArr };總結
以上是生活随笔為你收集整理的算法 --- 递归生成括号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单说明c语言程序步骤,C语言的入门简介
- 下一篇: 最简单代码,适合没学编程的人玩