iT邦幫忙

2025 iThome 鐵人賽

0
自我挑戰組

Leetcode30天挑戰系列 第 25

Day25-Binary Tree Maximum Path Sum

  • 分享至 

  • xImage
  •  

今天的題目為124.Binary Tree Maximum Path Sum,今天的題目是一棵二元樹中,一條路徑是由一系列節點組成,其中每對相鄰節點之間都有邊相連,每個節點在路徑中最多只能出現一次,但路徑不一定要經過根節點,路徑的總和是路徑上所有節點的值之和。

以下為程式碼:

class Solution {
    private int maxSum = Integer.MIN_VALUE;

    public int maxPathSum(TreeNode root) {
        dfs(root);
        return maxSum;
    }

    private int dfs(TreeNode node) {
        if (node == null) return 0;

        int left = Math.max(dfs(node.left), 0);
        int right = Math.max(dfs(node.right), 0);

        int currentPathSum = node.val + left + right;
        maxSum = Math.max(maxSum, currentPathSum);

        return node.val + Math.max(left, right);
    }
}

上一篇
Day24-Best Time to Buy and Sell Stock III
下一篇
Day26-Valid Palindrome
系列文
Leetcode30天挑戰30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言