给你二叉树的根节点 root 和一个整数 limit ,请你同时删除树中所有 不足节点 ,并返回最终二叉树的根节点。
假如通过节点 node 的每种可能的 “根-叶” 路径上值的总和全都小于给定的 limit,则该节点被称之为 不足节点 ,需要被删除。
叶子节点,就是没有子节点的节点。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/insufficient-nodes-in-root-to-leaf-paths
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public TreeNode sufficientSubset(TreeNode root, int limit) {
return solve(root, 0, limit) ? root : null;
}
public boolean solve(TreeNode node, int sum, int limit) {
if (node == null) {
return false;
}
if (node.left == null && node.right == null) {
return node.val + sum >= limit;
}
boolean left = solve(node.left, sum + node.val, limit);
boolean right = solve(node.right, sum + node.val, limit);
if (!left) {
node.left = null;
}
if (!right) {
node.right = null;
}
return left || right;
}
}
标签:node,right,1080,limit,根到,null,节点,left
From: https://www.cnblogs.com/tianyiya/p/17426000.html