摘要:
题目来源: https://leetcode.com/problems/flatten-binary-tree-to-linked-list/ 题意分析: 给出一个二叉树,将这个二叉树变成一个单链形式。 题目思路: 递归的思想,先将根节点连接左子树,然后再连接右子树。 代码(python): # D 阅读全文
摘要:
题目来源: https://leetcode.com/problems/path-sum-ii/ 题意分析: 给出一个二叉树和一个整数,返回所有从根节点到叶节点的和等于这个整数的路径。 题目思路: 这题和上一题类似,直接深度递归。记录左子树和sum - 根的值的答案,以及右子树和sum- 根的值的答 阅读全文
摘要:
题目来源: https://leetcode.com/problems/path-sum/ 题意分析: 给出一个树和一个整数,判断这棵树是否有一条从根到叶节点的路径,使得路径之和为给定的整数。 题目思路: 这题还是用递归的思想。如果根节点的左右子树都为空,那么返回根的值是否等于sum,否者,sum 阅读全文
摘要:
题目来源: https://leetcode.com/problems/minimum-depth-of-binary-tree/ 题意分析: 返回一颗二叉树从根部到叶子的最低高度。 题目思路: 如果根节点为空,那么返回0,如果左子树为空,返回右子树的最低高度+1,右子树为空,返回左子树最低高度+1 阅读全文
摘要:
题目来源: https://leetcode.com/problems/balanced-binary-tree/ 题意分析: 判断一棵树是不是平衡树。 题目思路: 如果左子树高度和右子树高度差小于等于1,并且左子树是平衡树,右子树是平衡树,那么这棵树是平衡树。那么我们先用一个新的函数返回树的高度和 阅读全文
摘要:
题目来源: https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/ 题意分析: 给定一个排好序的链表,将这个链表转换成一个高度平衡树。 题目思路: 有一个偷懒的方法,将链表转换成一个数组,然后用上一题的解法解决 阅读全文
摘要:
题目来源: https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ 题意分析: 给出一个排好序的数组,根据这个数据形成一个高度平衡的搜索二叉树。 题目思路: 将中位数为根节点,中位数左边为左子树,右边为右子树 阅读全文
摘要:
题目来源: https://leetcode.com/problems/binary-tree-level-order-traversal-ii/ 题意分析: 从底向上宽度遍历二叉树。 题目思路: 自顶向下遍历二叉树后将答案翻转。 代码(python): # Definition for a bin 阅读全文
摘要:
题目来源: https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/ 题意分析: 给出一颗二叉树的中序遍历和后续遍历,还原这个树。 题目思路: 这题和上一题类似,用递归的思想,先 阅读全文