02 2020 档案
摘要:在受污染的二叉树中查找元素 "LeetCode 1261"
阅读全文
摘要:宝石与石头 "LeetCode 771" 使用哈希表。 这里使用内置算法库中的map
阅读全文
摘要:比特位计数 "LeetCode 338" 奇数的1的个数一定比上一个偶数的1多一个。 偶数的1一定和该偶数1/2的偶数的1一样多。
阅读全文
摘要:二叉搜索树的第k大节点 "LeetCode 面试题54" 需要充分了解二叉搜索树的性质. 利用中序遍历的思想,采用相反的思想:先遍历右节点再遍历左节点。
阅读全文
摘要:重建二叉树 "LeetCode 105" 首次需要知道前序遍历和中序遍历的性质。 解题思路如下:首先使用前序比遍历找到根节点,然后使用中序遍历找到左右子树的范围,再分别对左右子树实施递归重建。 本题的难点就是如何在前序遍历中找到左右子树的范围以分别重构,这可以根据中序遍历中的左右子树的数量来分辨。使
阅读全文
摘要:二叉搜索树的范围和 "LeetCode 938" 1. 首先需要仔细理解题目的意思:找出所有节点值在L和R之间的数的和。 2. 这里采用递归来完成,主要需要注意二叉搜索树的性质。
阅读全文
摘要:祖父节点值为偶数的结点值之和 "LeetCode 1315" 这题稍微难度有点大,但是仔细思考还是可以找到思路的。 因为只需要找到祖父节点这最上两层,所以可以带一个参数记录一下祖父节点是否是偶数,以及父节点是否是偶数。 求解的时候还需要注意本身结点是否是偶数,这个时候再改变参数的值。
阅读全文
摘要:层数最深叶子结点的和 "LeetCode 1302" 这里可以采用上一题中求解二叉树的深度的方法。 因为需要记录最深结点的值的和,所以这里可以边求和,如果遇到不符合最深结点时再将和sum=0.
阅读全文
摘要:二叉树的深度 "二叉树的深度" 使用递归求解二叉树的深度。 需要注意使用的临界条件。
阅读全文
摘要:#对称二叉树 ##symmetric tree 和上一题的镜像树很相似,这里是判断是否是对称树,需要利用镜像树的性质。 对称树满足两个性质: 2.1. 两个子树的结点值需要相同。 2.2. 第一颗树的左子树和第二课树的右子树也满足这种对称树的关系(结点值相同)。 使用递归求解较容易想到,还可以使用迭
阅读全文
摘要:二叉树的镜像 "二叉树的镜像" 1. 给定一个二叉树,输出二叉树的镜像。 2. 只需要使用一个简单的递归,分别对左右子树反转后再对当前结点进行反转。
阅读全文
摘要:特定深度节点链表 求解每一层二叉树从左到右遍历形成的链表 "list of depth lcci" 这是关于二叉树的问题,遍历每一层的结点并且存在链表中。 可以采取队列类似于广度优先搜索的方法进行搜索。每次出队列时,首先记录队列中还有多少个同一层的结点,再遍历所有这些结点并且将左右结点再次进栈。
阅读全文
摘要:快速排序 "LanQiao 297" include include include include using namespace std; //每一趟返回一个数的确定位置 int onePart(int a,int i,int j){ int orig=a[i]; while(i=orig;k
阅读全文