22. Generate Parentheses 2019-03-25

1.解决方法,回溯法。

递归,在递归过程中判断执行条件和结束条件

class Solution {

    public List<String> generateParenthesis(int n) {

        List<String> a=new ArrayList<String>();

digui(a,n,n,"");

        return a;

    }

    public static List<String> digui(List<String> a,int left,int right,String s) {

if(left==0&&right==0) {

a.add(s);

return a;

}

if(left<=right&&left!=0) {

digui(a,left-1,right,s+"(");

}

if(right!=0) {

digui(a,left,right-1,s+")");

}

return null;

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • <center>#1 Two Sum</center> link Description:Given an arr...
    铛铛铛clark阅读 2,197评论 0 3
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,046评论 0 2
  • 1.HashMap是一个数组+链表/红黑树的结构,数组的下标在HashMap中称为Bucket值,每个数组项对应的...
    谁在烽烟彼岸阅读 1,039评论 2 2
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,498评论 0 17
  • 这棵树我写了很多遍,未来还会再写。我出生时,它已是枝繁叶荗的大树。如今,亲手种植它的人已不在了。她长眠于黄土中,或...
    如梦如幻月阅读 426评论 0 0