随笔分类 - 算法
摘要:题目来自: https://leetcode-cn.com/problems/path-sum-iii/ 给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过
阅读全文
摘要:题目来自: https://leetcode-cn.com/problems/symmetric-tree/ 方法:递归 如果一个树的左子树与右子树镜像对称,那么这个树是对称的。 因此,该问题可以转化为:两个树在什么情况下互为镜像? 如果同时满足下面的条件,两个树互为镜像: 就像人站在镜子前审视自己
阅读全文
摘要:题目来源:https://leetcode-cn.com/problems/two-sum-iv-input-is-a-bst/ 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 测试用例中的树按层遍历为[5,3,6,2,4,null,7
阅读全文
摘要:在做LeetCode的题时,只需要编辑算法核心逻辑即可,如逻辑正确则执行成功,但如果逻辑出错,想要调试看看问题出在哪里LeetCode平台就无能为力了。本博客讲述如何在IDE上调试代码。 下面就树的相关算法,提供简单的IDE调试方法。 LeetCode中的树节点是: 1. 则创建对应的java类为:
阅读全文
摘要:堆排序是基于完全二叉树实现的,在将一个数组调整成一个堆的时候,关键之一的是确定最后一个非叶子节点的序号,这个序号为n/2-1,n为数组的长度。但是为什么呢? 可以分两种情形考虑: ①堆的最后一个非叶子节点若只有左孩子 ②堆的最后一个非叶子节点有左右两个孩子 完全二叉树的性质之一是:如果节点序号为i,
阅读全文
摘要:昨天笔试遇到一题,要求用java实现sqrt,当时就想,哪里管过怎么实现的,都是直接拿来用的。所以晚上就查了一些资料,将实现过程整理如下: 图示: 算法思路(说明,下面的“碎片被开方数”,“补丁平方根”是为了方便称呼自取的名称): 1.将被开方数n从右向左两位一划分,例如将10517049划分为10
阅读全文

浙公网安备 33010602011771号