摘要: 二叉树——124. 二叉树中的最大路径和 题目: 思路: 思路就是递归,既然是最大,那肯定是左边的最大加上右边的最大再加上root->val才是最大。剩下的具体思路都在代码注释中。 代码: class Solution { // 存放最大路径和 int ans; public: int dfs(Tr 阅读全文
posted @ 2021-04-11 18:06 Originhhh 阅读(80) 评论(0) 推荐(0)
摘要: 二叉树——105. 从前序与中序遍历序列构造二叉树 题目: 思路: 这题就是考察两种遍历的特点,前序遍历的第一个为root结点,知道了root结点,就可以在中序遍历中知道在root结点之前的为左子树,在root结点之后的为右子树。然后就可以递归的构造出左子树和右子树。 具体实现的时候,就是要借助哈希 阅读全文
posted @ 2021-04-11 12:28 Originhhh 阅读(62) 评论(0) 推荐(0)
摘要: 二叉树——543. 二叉树的直径 题目: 思路: 二叉树的直径,就是求最长路径然后减1。所以现在问题就变为了求最长路径的问题。 最长路径的问题又可以类比求最大路径和的问题,所以就是求左子树的最长路径和右子树的最长路径然后加上root结点就是最长路径了,遍历顺序自然和求最大路径和一样也是后序遍历,然后 阅读全文
posted @ 2021-04-11 11:55 Originhhh 阅读(82) 评论(0) 推荐(0)