Problem: 2673. 使二叉树所有路径值相等的最小代价
文章目录
- 思路
- 复杂度
- Code
思路
👨🏫 灵神题解
复杂度
⏰ 时间复杂度: O ( n ) O(n) O(n)
🌎 空间复杂度: O ( 1 ) O(1) O(1)
Code
class Solution {public int minIncrements(int n, int[] cost) {int ans = 0;for (int i = n / 2; i > 0; i--) { // 从最后一个非叶节点开始算ans += Math.abs(cost[i * 2 - 1] - cost[i * 2]); // 两个子节点变成一样的cost[i - 1] += Math.max(cost[i * 2 - 1], cost[i * 2]); // 累加路径和}return ans;}
}