LeetCode:Generate Parentheses
来源:互联网 发布:mac无法切换大小写 编辑:程序博客网 时间:2024/06/05 16:40
回溯。
这题做得比较愉快,半个小时就通过了。
import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Solution {public List<String> generateParenthesis(int n) {List<String> result = new ArrayList<String>();if (n <= 0) {return result;} int leftCount = 0; int availableLeftCount = 0; char[] solution = new char[n * 2]; Arrays.fill(solution, '-'); int i = 0; while (i >= 0) { if (solution[i] == '-') { //try left if (leftCount < n) { solution[i] = '('; leftCount++; availableLeftCount++; i++; } else { solution[i] = ')';//put a right availableLeftCount--; i++; } } else if (solution[i] == '(') { //remove the '(' leftCount--; availableLeftCount--; if (availableLeftCount > 0) { //put a ')' solution[i] = ')'; availableLeftCount--; i++; } else { //back solution[i] = '-'; i--; } } else if (solution[i] == ')') { //remove the ')' availableLeftCount++; solution[i] = '-'; i--; } if (i == n * 2) { //get a solution String s = new String(solution); //System.out.println(s); result.add(s); i--; } } return result; }public static void main(String[] args) {Solution s = new Solution();s.generateParenthesis(4);}}
0 0
- LeetCode: Generate Parentheses
- LeetCode: Generate Parentheses
- [Leetcode] Generate Parentheses
- leetcode 51: Generate Parentheses
- [LeetCode] Generate Parentheses
- Leetcode: Generate Parentheses
- LeetCode Generate Parentheses
- 【leetcode】Generate Parentheses
- [LeetCode]Generate Parentheses
- Leetcode Generate Parentheses
- LeetCode-Generate Parentheses
- LeetCode: Generate Parentheses
- LeetCode - Generate Parentheses
- LeetCode 22: Generate Parentheses
- LeetCode: Generate Parentheses
- Leetcode: Generate Parentheses
- 【leetcode】Generate Parentheses
- Leetcode: Generate Parentheses
- 去哪儿网面试题
- MultiByte与WideChar之间的转化
- 【脚本】echo 输出赋值给变量
- Linux下的nginx启动、重新启动
- hadoop中槽-slot是线程还是进程讨论
- LeetCode:Generate Parentheses
- Android 避免APP启动闪黑屏的解决办法(Theme和Style)
- Android开发大牛博客
- [网站推荐] 百度识图
- tomcat源码Catalina
- Git 学习
- 我遇到的“LC_ALL unset”解决方法
- Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
- [整理]JavaScript跨域解决方法大全