5.leetcode hot 100 0502-17 收起 解题思路:前序遍历,然后将每个非空节点的左右子树交换(java要创建tmp变量交换),最后返回交换后的root;或者也可以创建一个新的二叉树节点然后赋值(比较麻烦) class Solution { public TreeNode invertTree(TreeNode root) { if (root == null) return null; treeReverse(root...
【LeetCode Hot 100】17. 电话号码的字母组合 题目描述 本题需要用回溯算法遍历穷举所有可能的解。回溯算法维护一个字符串序列,记录已经有的字母排列,用一个索引值记录该字符串序列下一个将要处理的位置。每次递归将索引值加一,回溯之后将字符串序列中上次加入的字符退出序列中,枚举下一个可能的值。总的来说是一个...
【NO.77】LeetCode HOT 100—301. 删除无效的括号 文章目录 301. 删除无效的括号 解题 方法一:回溯 方法二:BFS(广度优先搜索) 301. 删除无效的括号 给你一个由若干括号和字母组成的字符串 s ,删除最小数量的无效括号,使得输入的字符串有效。 返回所有可能的结果。答案可以按 任意顺序 返回。 示例1: 输入:s...
最优解法:一遍哈希 最容易想到是暴力**,两个循环,但时间复杂度O(n2),比较高,这里用HashMap,时间复杂度O(n),空间复杂度O(n) 之前牛客刷过同样的两数之和,要求返回索引不一样而已 classSolution{publicint[]twoSum(int[]nums,inttarget){Map<Integer,Integer>map=newHashMap<>();for(inti=0;i<nums.len...
程序员大彬发表于Java基... LeetCode 简略题解 - 101~200 101 Symmetric Tree// #101 对称树 描述:给定二叉树,判断其是否左右对称。 // #101 Description: Symmetric Tree | LeetCode OJ解法1:递归。 // Solution 1: Recursion. 代码1// Code 1… 朱里 LeetCode练习本之树专题_5 LeetCode 练习本之树...
推荐题解:简明易懂的Java解答 class Solution { public int leastInterval(char[] tasks, int n) { int[] counts = new int[26]; //记录每个任务(字母)出现需要执行的次数 // 'A' 放在 counts[0], 'B'、'C'依次向后 for (char ch : tasks) { counts[ch - 'A']++; } Arrays.sort(counts)...
LeetCodeHot100 1.两数之和 解题思路: 1.暴力解法 两个for循环解决问题 时间复杂度为O(n2) class Solution { public int[] twoSum(int[] nums, int target) { int n = nums.length; for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) {...
技术标签: LeetCode java leetcode 算法罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,...
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。 示例1: 输入:nums = [1,1,1], k = 2 输出:2 示例2: 输入:nums = [1,2,3], k = 3 输出:2 提示: 1 <= nums.length <= 2 * 104 ...
LeetCode 热题 HOT 100 简单篇(已完结) 4.26 振作一点 代码注释部分包括本题的知识点、思路、以及解答过程中的部分测试用例。 【 1.两数之和】 梦开始的地方,超多方法,感兴趣的可以看官方题解和精选。 复制代码 1 2 3 4 5 6 7 8 9 10 11