题目 1 输入一个字符串,打印出该字符串中字符的所有排列。例如,输入字符串 abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。 示例 输入: abc 输出: abc acb bac bca cba cab 解题思路 可以把一个字符串看成由两部分组 ...
分类:
其他好文 时间:
2020-06-27 00:05:29
阅读次数:
82
1 解题思路 1 使用深度优先遍历 2 设置两个变量:一个变量是当前的深度;另一个变量是最大深度 3 每进入下一层,当前深度+1;每返回上一层,当前深度-1。 4 当一个节点的左右节点都为空的话,比较一下当前深度与最大深度,更新最大深度 如下图所示,红色数字表示的是当前节点二叉树的深度。 2 代码 ...
分类:
其他好文 时间:
2020-06-26 23:54:20
阅读次数:
101
题目描述: 解题思路: 这道题主要是区分不同情况。假设从最左边的的柱子开始判断,因为该柱子的左边没有柱子,所以它一定是左边界柱子。那么我们就往右边寻找和这个柱子匹配的右边界柱子。有两种情况: 第一种情况,当右边有比该柱子高或一样高的柱子时,那么右边界柱子就一定是这根柱子,而中间的所有短柱子都是障碍物 ...
分类:
移动开发 时间:
2020-06-26 22:27:40
阅读次数:
71
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路 1.传入的是StringBuffer先使用StringBuffer的toString方法变换成字符串; 2.使用字符串的 ...
分类:
其他好文 时间:
2020-06-25 12:19:11
阅读次数:
59
题目来源于力扣(LeetCode) 一、题目 922. 按奇偶排序数组 II 题目相关标签:排序、数组 提示: 2 <= A.length <= 20000 A.length % 2 == 0 0 <= A[i] <= 1000 二、解题思路 2.1 新数组存储方式 创建与数组 A 相同长度的新数组 ...
分类:
编程语言 时间:
2020-06-24 22:00:29
阅读次数:
65
【什么是递归】 在数学与计算机科学中,递归 (Recursion))是指在函数的定义中使用函数自身的方法,直观上来看,就是某个函数自己调用自己。 递归有两层含义: 递归问题必须可以分解为若干个规模较小、与原问题形式相同的子问题。并且这些子问题可以用完全相同的解题思路来解决; 递归问题的演化过程是一个 ...
分类:
其他好文 时间:
2020-06-24 12:09:52
阅读次数:
57
解题思路排序之后就是字典序了,遇到单个字符,加到集合里,多个字符则看最后一个字符之前的字符是否已经在集合里,在的话,加进集合里,不在的话,可以直接不管了,因为已经排序,说明肯定无法一步一步的达到这个字符串,再用两个变量,保存首次遇到的最长长度,最后返回(有点重复代码) class Solution: ...
分类:
其他好文 时间:
2020-06-24 00:45:38
阅读次数:
82
题目来源于力扣(LeetCode) 一、题目 976. 三角形的最大周长 题目相关标签:排序、数学 提示: 3 <= A.length <= 10000 1 <= A[i] <= 10^6 二、解题思路 首先对数组进行排序 倒序遍历数组,对范围内的数组元素进行比较 判断当前遍历的元素是否小于前两位元 ...
分类:
其他好文 时间:
2020-06-23 21:20:33
阅读次数:
65
解题思路异或也叫半加运算,其运算法则相当于不带进位的二进制加法:所以异或常被认作不进位加法。不能用加法,所以只能用二进制进位来算。把相加和进位分开,分成两步。1:a^b,完成不进位加法。 2:a&b,完成进位的运算。 3:把step2左移一位,模拟正常加法的向前进一位。一直到进行到进位没有为止,也就 ...
分类:
其他好文 时间:
2020-06-23 00:54:40
阅读次数:
69
题目来源于力扣(LeetCode) 一、题目 989. 数组形式的整数加法 题目相关标签:数组 提示: 1 ? A.length ? 10000 0 ? A[i] ? 9 0 ? K ? 10000 如果 A.length > 1,那么 A[0] != 0 二、解题思路 2.1 数字相加 定义变量 ...
分类:
编程语言 时间:
2020-06-22 20:48:06
阅读次数:
60