FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
interviews/leetcode/string/GenerateParentheses.java at master · codingOnGithub/interviews · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
codingOnGithub
/
interviews
Public
forked from
kdn251/interviews
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
interviews
/
leetcode
/
string
/
GenerateParentheses.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
35 lines (30 loc) · 956 Bytes
Breadcrumbs
interviews
/
leetcode
/
string
/
GenerateParentheses.java
Copy path
File metadata and controls
35 lines (30 loc) · 956 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
//
//For example, given n = 3, a solution set is:
//
//[
//"((()))",
//"(()())",
//"(())()",
//"()(())",
//"()()()"
//]
class
GenerateParentheses
{
public
List
<
String
>
generateParenthesis
(
int
n
) {
List
<
String
>
result
=
new
ArrayList
<
String
>();
generateParenthesisRecursive
(
result
,
""
,
0
,
0
,
n
);
return
result
;
}
public
void
generateParenthesisRecursive
(
List
<
String
>
result
,
String
current
,
int
open
,
int
close
,
int
n
) {
if
(
current
.
length
() ==
n
*
2
) {
result
.
add
(
current
);
return
;
}
if
(
open
<
n
) {
generateParenthesisRecursive
(
result
,
current
+
"("
,
open
+
1
,
close
,
n
);
}
if
(
close
<
open
) {
generateParenthesisRecursive
(
result
,
current
+
")"
,
open
,
close
+
1
,
n
);
}
}
}
Back
|
FazBrowse Home
|
New Git URL