![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
回溯
傅里叶不想变换_
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 38. 字符串的排列
class Solution { List<String> res = new ArrayList<>(); public String[] permutation(String s) { char[] arr = s.toCharArray(); Arrays.sort(arr); backtarcking(arr, new boolean[arr.length], new StringBuilder()); .原创 2021-08-24 19:33:38 · 61 阅读 · 0 评论 -
剑指 Offer 38. 字符串的排列
思路:递归+回溯public class Solution { public String[] permutation(String s) { int len = s.length(); if (len == 0) return new String[0]; // 转换成字符数组是常见的做法 char[] charArray = s.toCharArray(); // 排序是为了去重方便 Arra.原创 2021-01-24 15:07:03 · 66 阅读 · 0 评论 -
Leetcode 22. 括号生成
思想:递归,递归终止条件:左括号个数为0且右括号个数为0注意两个条件:1.剩余左右括号数相等,下一个只能用左括号 2.剩余左括号小于右括号,下一个可以用左括号也可以用右括号class Solution { List<String> res = new ArrayList<>(); public List<String> generateParenthesis(int n) { if(n <= 0){ .原创 2021-01-01 12:22:22 · 88 阅读 · 0 评论 -
Leetcode 17. 电话号码的字母组合
class Solution { public static List<String> letterCombinations(String digits) { // 存储答案 List<String> combinations = new ArrayList<>(); // 特殊情况 if (digits.length() == 0) { return combination.原创 2020-12-19 17:41:59 · 126 阅读 · 2 评论 -
Leetcode 79. 单词搜索
思路:回溯,注意复原现场。class Solution { public boolean exist(char[][] board, String word) { char[] words = word.toCharArray(); for (int i = 0; i < board.length; i++) { for (int j = 0; j < board[0].length; j++) { .原创 2020-12-27 18:51:32 · 68 阅读 · 0 评论 -
Leetcode 17. 电话号码的字母组合
思路1:实质上就是一颗树class Solution { public List<String> letterCombinations(String digits) { List<String> combinations = new ArrayList<String>(); if (digits.length() == 0) { return combinations; } .原创 2020-12-27 15:50:05 · 203 阅读 · 2 评论