美文网首页
深度搜索&广度搜索&二 叉树(dfs+二叉树最大路径和)

深度搜索&广度搜索&二 叉树(dfs+二叉树最大路径和)

作者: 1哥 | 来源:发表于2023-08-27 00:39 被阅读0次
image.png

要点:

  1. 最大路径和可能出现在三种情况中:
    左子树
    右子树
    根节点与左右子树
  2. 返回值,返回当前节点和左右分支中的一支的最大值
  3. maxsum 存放的事
    int dfs(TreeNode* root, int& maxsum){
        if(!root) return 0;
        int l = dfs(root->left, maxsum); // l: left child的分支最大值,
        int r = dfs(root->right, maxsum); //r: right child 的分支最大值
        maxsum = max(l+r+root->val, maxsum); // 和当前最大值比较
        return root->val + max(l,r); //child的分支 + 节点最大值
    }
    int maxPathSum(TreeNode* root) {
        int maxsum = INT_MIN;
        dfs(root, maxsum);
        return maxsum;
    }

相关文章

  • 二叉树数据结构及其算法操作(Java)

    二叉树的定义 向二叉树中插入节点 搜索二叉树中最大值和最小值 搜索二叉树的深度(height)和节点数(size)...

  • 101. 对称二叉树

    101. 对称二叉树 1.想法: A.深度优先搜索://TODO B.广度优选搜索:直接利用广度优先搜索:对每一层...

  • 14-深度优先搜索(Depth First Search)

    深度优先搜索(Depth First Search) 与广度优先搜索一样,在二叉树搜索部分,也有用到过类似于深度优...

  • 5. 深度优先、广度优先

    1. 二叉树的深度优先遍历和广度优先遍历2. 深度优先搜索递归和非递归实现 深度优先(DFS):前序遍历 广度优先...

  • LeetCode 深度优先遍历

    概述 前言 104 二叉树的最大深度【简单】 111 二叉树的最小深度 【简单】 124 二叉树中的最大路径和 【...

  • 树Tree

    节点类 二叉树前、中、后、按层遍历 二叉搜索树 最大、最小深度

  • leetcode刷题之广度搜索

    1, 相同的树—— 0100 广度搜索 深度搜索给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两...

  • 二叉树与图

    二叉树深度搜索 1. 路径总和 II 前序操作和后序操作结合: 2.二叉树的最近公共祖先 3. 二叉树展开为链表...

  • 二叉树面试题基本问题

    二叉树的最大深度与最小深度 二叉树的最大深度 最大深度是指二叉树根节点到该树叶子节点的最大路径长度。而最小深度自然...

  • 二叉树

    查找二叉树中最大的搜索二叉树拓扑结构 96.不同的二叉搜索树给定n,求可以构成多少种二叉搜索树 95. 不同的二叉...

网友评论

      本文标题:深度搜索&广度搜索&二 叉树(dfs+二叉树最大路径和)

      本文链接:https://www.haomeiwen.com/subject/jggimdtx.html