c盘清理的步骤是什么(如何清理C盘空间)
如何清理C盘空间怎么清理C盘的垃圾文件?每天上网会给电脑带来很多临时文件,这些垃圾文件不清理掉时间久了就会影响到电脑的运行速度。那怎
2022/12/08
【资料图】
题目:
给定一棵二叉树,其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法,打印节点数值总和等于某个给定值的所有路径的数量。注意,路径不一定非得从二叉树的根节点或叶节点开始或结束,但是其方向必须向下(只能从父节点指向子节点方向)。
示例:给定如下二叉树,以及目标和sum = 22,
5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1
返回:
3解释:和为 22 的路径有:[5,4,11,2], [5,8,4,5], [4,11,7]
代码实现:
class Solution { public int pathSum(TreeNode root, int sum) { Mapprefix = new HashMap (); prefix.put(0L, 1); return dfs(root, prefix, 0, sum); } public int dfs(TreeNode root, Map prefix, long curr, int sum) { if (root == null) { return 0; } int ret = 0; curr += root.val; ret = prefix.getOrDefault(curr - sum, 0); prefix.put(curr, prefix.getOrDefault(curr, 0) + 1); ret += dfs(root.left, prefix, curr, sum); ret += dfs(root.right, prefix, curr, sum); prefix.put(curr, prefix.getOrDefault(curr, 0) - 1); return ret; }}
标签: 设计一个