上一页 1 2 3 4 5 6 7 8 ··· 12 下一页
摘要: [toc] 题目链接 "Maximum Depth of Binary Tree LeetCode" 注意点 不要访问空结点 解法 解法一:递归,当前深度与最大深度相比,是否大于,大于就更新。 小结 在写 这种语句的时候一定要清楚的认识到root是NULL才会为真。 阅读全文
posted @ 2019-03-14 23:55 闽A2436 阅读(94) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Subsets II LeetCode" 注意点 有重复的数字 数组可能是无序的,要先排序 解法 解法一:递归,只需要在 "Subsets" 中递归写法的基础上多加一句 j即可,因为已经排序了,所以加进去的如果已经存在就说明是重复的。 解法二:递归。只需要在 "Subsets 阅读全文
posted @ 2019-03-13 15:40 闽A2436 阅读(134) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Pow(x, n) LeetCode" 注意点 暴力乘n会超时 解法 解法一:递归。折半计算,每次把n缩小一半,这样n最终会缩小到0,任何数的0次方都为1,这时候我们再往回乘。如果此时n是偶数,直接把上次递归得到的值算个平方返回即可,如果是奇数,则还需要乘上个x的值。还有一点 阅读全文
posted @ 2019-03-11 21:56 闽A2436 阅读(232) 评论(0) 推荐(0) 编辑
摘要: [toc] 什么是二叉搜索树 二叉搜索树(英语:Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左 阅读全文
posted @ 2019-03-11 14:27 闽A2436 阅读(1300) 评论(0) 推荐(0) 编辑
摘要: [toc] 什么是堆 堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。 通常将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。 堆的存 阅读全文
posted @ 2019-03-10 23:12 闽A2436 阅读(5828) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Symmetric Tree LeetCode" 注意点 先判断结点是否为空再访问结点的值 解法 解法一:递归,从根结点开始判断,然后递归判断左子树的左子树和右子树的右子树以及左子树的右子树和右子树的左子树是否相等。 解法二:非递归,和递归思想一样,但是显式的用栈来模拟递归的 阅读全文
posted @ 2019-03-10 15:34 闽A2436 阅读(97) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Same Tree LeetCode" 注意点 先判断结点是否为空再访问结点的值 解法 解法一:递归,从根结点开始判断,然后递归判断左右子树。 解法二:非递归,和递归思想一样,但是显式的用栈来模拟递归的过程。 class Solution { public: vector c 阅读全文
posted @ 2019-03-09 15:12 闽A2436 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 众所周知,在C++中有三种参数传递的方式: 按值传递(pass by value) include using namespace std; void swap(int a,int b) { int temp = a; a = b; b = temp; } int main() { int a = 阅读全文
posted @ 2019-03-08 20:52 闽A2436 阅读(3245) 评论(1) 推荐(2) 编辑
摘要: [toc] 题目链接 "Word Search LeetCode" 注意点 尽量减少函数参数的个数,而且最好使用引用,否则速度会慢很多 解法 解法一:典型的dfs。从开头的字母开始,往四周寻找下一个字母,如果没有匹配的就返回false。根据 "短路特性" 找到一个匹配的之后就会继续访问下去。 cla 阅读全文
posted @ 2019-03-08 20:17 闽A2436 阅读(130) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Subsets LeetCode" 注意点 解法 解法一:递归,每次就将tmp加入ret中,然后往tmp中加一个数字,继续递归。原理如下,第i(i 0)层表示nums[i 1]的状态(选择或者不选择),最后叶节点就是结果。 解法二:非递归,nums中的数字一个个处理,从空集开 阅读全文
posted @ 2019-03-08 17:50 闽A2436 阅读(154) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Combinations LeetCode" 注意点 解法 解法一:递归,如果tmp中有k个数字就把tmp加到ret中,否则继续往tmp添加数字。 解法二:非递归,如果tmp中有k个数字就把tmp加到ret中,否则继续往tmp添加数字。 class Solution { pu 阅读全文
posted @ 2019-03-07 20:43 闽A2436 阅读(263) 评论(0) 推荐(0) 编辑
摘要: [toc] 解释 对于语句 来说如果表达式1为假,那么表达式2不会进行运算,也就是说表达式2"被短路"。同理 如果表达式1为真,那么表达式2不会进行运算,表达式2"被短路"。 运用 经常会看到这样的写法 class Solution { public: int Sum_Solution(int n) 阅读全文
posted @ 2019-03-06 23:11 闽A2436 阅读(593) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Search a 2D Matrix LeetCode" 注意点 maxtrix是有序的 解法 解法一:二分搜索。从右上角开始,大于target就往左搜索,小于target就往下搜索。时间复杂度O(logn)。 class Solution { public: bool se 阅读全文
posted @ 2019-03-06 10:57 闽A2436 阅读(128) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Merge Sorted Array LeetCode" 注意点 要合并到nums1里面,不能新开数组 解法 解法一:把nums2加到nums1尾部,然后对nums1进行排序。时间复杂度O(logn) 小结 预测接下来会有合并k个有序数组... 阅读全文
posted @ 2019-03-04 22:45 闽A2436 阅读(92) 评论(0) 推荐(0) 编辑
摘要: [toc] 题目链接 "Find Common Characters LeetCode" 注意点 不能单纯的以字母出现的次数来判断是否是公共的字母 解法 解法一:将第一个字符串的每个字母逐个在其他字符串中查找,如果所有的字符串都含有就加入res。时间复杂度O(n^2),n是所有字符串的长度之和。 解 阅读全文
posted @ 2019-03-03 20:53 闽A2436 阅读(298) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 12 下一页