共17页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页 
摘要: "114. 二叉树展开为链表" 这个题描述不清啊 一开始看描述每太明白题意,对着给出的样例做的 实际上就是: 1. 将右子树接到左子树的最右边的叶子节点上 2. 将左子树接到root的右儿子上 3. 把root的左儿子置空阅读全文
posted @ 2018-11-06 21:44 ACBingo 阅读(79) 评论(0) 编辑
摘要: "113. 路径总和 II" 这题跟上个题的区别 "112. 路径总和" ,需要保存下路径,且有可能出现多条路径。 在前一个题的基础上加上回溯即可阅读全文
posted @ 2018-11-06 21:27 ACBingo 阅读(76) 评论(0) 编辑
摘要: "112. 路径总和" 前序遍历累加路径和即可,注意两点: 1. 要在叶子节点判断是否等于目标和,非叶子节点达到了不行 2. 可能出现空树,这时即使sum为0也为false(都不存在路径谈何路径和)阅读全文
posted @ 2018-11-06 21:11 ACBingo 阅读(40) 评论(0) 编辑
摘要: "110. 平衡二叉树" 实际上递归的求每一个左右子树的最大深度即可,如果差值大于1,返回一个 1的状态上去 class Solution { public boolean isBalanced(TreeNode root) { return depth(root)!= 1; } public in阅读全文
posted @ 2018-11-06 21:00 ACBingo 阅读(9) 评论(0) 编辑
摘要: "109. 有序链表转换二叉搜索树" 这个题和上个题 "108. 将有序数组转换为二叉搜索树" 唯一的区别就是数字变成了链表,所以一个比较直观的做法就是先遍历一遍链表。。。。233阅读全文
posted @ 2018-11-06 20:45 ACBingo 阅读(42) 评论(0) 编辑
摘要: "108. 将有序数组转换为二叉搜索树" 由于数组是有序的,而我们只需要给出一种符合平衡要求的bst即可。所以直接拿数组中间值做根节点,左右分别为左右子树,递归处理即可阅读全文
posted @ 2018-11-06 20:39 ACBingo 阅读(8) 评论(0) 编辑
摘要: "107. 二叉树的层次遍历 II" 相当于把 "102. 二叉树的层次遍历" 的输出结果反转了一下阅读全文
posted @ 2018-11-06 20:18 ACBingo 阅读(20) 评论(0) 编辑
摘要: "106. 从中序与后序遍历序列构造二叉树" 后序遍历的第一个元素肯定是根节点,在中序遍历中找到该元素,左半是该节点的左子树的元素,右半是该节点的右子树元素,记左半的长度为L,后序遍历中,前L个元素为左子树的元素,除去最后一个元素外的后半部分则为右子树的元素。递归处理即可。阅读全文
posted @ 2018-11-06 20:14 ACBingo 阅读(71) 评论(0) 编辑
摘要: "105. 从前序与中序遍历序列构造二叉树" 前序遍历的第一个元素肯定是根节点,在中序遍历中找到该元素,左半是该节点的左子树的元素,右半是该节点的右子树元素,记左半的长度为l,前序遍历中去掉第一个元素后,前l个元素为左子树的元素,后半部分则为右子树的元素。递归处理即可。阅读全文
posted @ 2018-11-06 20:03 ACBingo 阅读(37) 评论(0) 编辑
摘要: "111. 二叉树的最小深度" 与获取最大深度不同的是,要注意判断下是不是叶子节点,阅读全文
posted @ 2018-11-06 19:28 ACBingo 阅读(7) 评论(0) 编辑
摘要: "104. 二叉树的最大深度" 没什么好办法,深搜或者宽搜暴力遍历吧阅读全文
posted @ 2018-11-06 19:20 ACBingo 阅读(7) 评论(0) 编辑
摘要: "103. 二叉树的锯齿形层次遍历" 按题号刷的优势体现出来了2333333 这题实际上就是上个题 "102. 二叉树的层次遍历" 的演变,把上个题结果的偶数行list反转一下即可。。 上题通过人数10k+,这个题才3k,我想这题不经过上题思路的引导很容易思路被带弯把阅读全文
posted @ 2018-11-06 19:14 ACBingo 阅读(45) 评论(0) 编辑
摘要: "102. 二叉树的层次遍历" 二叉树的层次遍历很简单,用队列实现bfs即可。 这里难点是要区分出每一层的楼层,分别放到对应的数组里 实际上在bfs的时候判断好在什么时候就进入了下一层即可。 设置一个标记位,用来标记当前元素是本层的最后一个元素。显然,第一层的root只有一个元素,为第一个标记。 仔阅读全文
posted @ 2018-11-06 18:59 ACBingo 阅读(26) 评论(0) 编辑
摘要: "101. 对称二叉树" 一开始想复杂了呀,没有做出来 直观的思路就是反转这颗树,然后判断两颗树是不是相同的 网上大部分人的思路更为简洁,一开始没有想到。 即,判断左子树和右子树是否对称: 1. 当前左右值是否相同 2. 当前左子树的左子树和右子树的右子树是否相同 3. 当前左子树的右子树和右子树的阅读全文
posted @ 2018-11-06 17:06 ACBingo 阅读(23) 评论(0) 编辑
摘要: "99. 恢复二叉搜索树" 一开始想了好久没有什么好思路,去网上搜了一下,原来是中序遍历。 二叉搜索树的中序遍历是个(递增)有序数列,利用这个特性,我们可以很巧妙的解决这个题。 先看第二个例子,中序遍历后是:13245,观察发现只有一处发生了降序,只在第二位与第三位发生了降序情况,说明这两个数为异常阅读全文
posted @ 2018-11-04 23:51 ACBingo 阅读(28) 评论(0) 编辑
共17页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页