摘要:
"119. 杨辉三角 II" 水题,题目有个进阶,要求空间复杂度是O(k),实际上就是时间换空间的做法。把问题的解法给成从下而上,递归即可。 懒得写递归了,直接套用上题 阅读全文
摘要:
"118. 杨辉三角" 水题 阅读全文
摘要:
"117. 填充同一层的兄弟节点 II" 与 "116. 填充同一层的兄弟节点" 完全一样,二叉树的层次遍历。。这是这次不是完美二叉树了 阅读全文
摘要:
"116. 填充同一层的兄弟节点" 其实就是个二叉树的层次遍历 阅读全文
摘要:
"114. 二叉树展开为链表" 这个题描述不清啊 一开始看描述每太明白题意,对着给出的样例做的 实际上就是: 1. 将右子树接到左子树的最右边的叶子节点上 2. 将左子树接到root的右儿子上 3. 把root的左儿子置空 阅读全文
摘要:
"113. 路径总和 II" 这题跟上个题的区别 "112. 路径总和" ,需要保存下路径,且有可能出现多条路径。 在前一个题的基础上加上回溯即可 阅读全文
摘要:
"112. 路径总和" 前序遍历累加路径和即可,注意两点: 1. 要在叶子节点判断是否等于目标和,非叶子节点达到了不行 2. 可能出现空树,这时即使sum为0也为false(都不存在路径谈何路径和) 阅读全文
摘要:
"110. 平衡二叉树" 实际上递归的求每一个左右子树的最大深度即可,如果差值大于1,返回一个 1的状态上去 class Solution { public boolean isBalanced(TreeNode root) { return depth(root)!= 1; } public in 阅读全文
摘要:
"109. 有序链表转换二叉搜索树" 这个题和上个题 "108. 将有序数组转换为二叉搜索树" 唯一的区别就是数字变成了链表,所以一个比较直观的做法就是先遍历一遍链表。。。。233 阅读全文
摘要:
"108. 将有序数组转换为二叉搜索树" 由于数组是有序的,而我们只需要给出一种符合平衡要求的bst即可。所以直接拿数组中间值做根节点,左右分别为左右子树,递归处理即可 阅读全文
摘要:
"107. 二叉树的层次遍历 II" 相当于把 "102. 二叉树的层次遍历" 的输出结果反转了一下 阅读全文
摘要:
"106. 从中序与后序遍历序列构造二叉树" 后序遍历的第一个元素肯定是根节点,在中序遍历中找到该元素,左半是该节点的左子树的元素,右半是该节点的右子树元素,记左半的长度为L,后序遍历中,前L个元素为左子树的元素,除去最后一个元素外的后半部分则为右子树的元素。递归处理即可。 阅读全文
摘要:
"105. 从前序与中序遍历序列构造二叉树" 前序遍历的第一个元素肯定是根节点,在中序遍历中找到该元素,左半是该节点的左子树的元素,右半是该节点的右子树元素,记左半的长度为l,前序遍历中去掉第一个元素后,前l个元素为左子树的元素,后半部分则为右子树的元素。递归处理即可。 阅读全文
摘要:
"111. 二叉树的最小深度" 与获取最大深度不同的是,要注意判断下是不是叶子节点, 阅读全文
摘要:
"104. 二叉树的最大深度" 没什么好办法,深搜或者宽搜暴力遍历吧 阅读全文