三亚h5网站定制开发公司,网站开发 mvc,网页制作工具中flash可以让网页动起来,报价单难度#xff1a;Medium
题目#xff1a; 给定一棵二叉树#xff0c;其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法#xff0c;打印节点数值总和等于某个给定值的所有路径的数量。注意#xff0c;路径不一定非得从二叉树的根节点或叶节点开始或结束#x…难度Medium
题目 给定一棵二叉树其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法打印节点数值总和等于某个给定值的所有路径的数量。注意路径不一定非得从二叉树的根节点或叶节点开始或结束但是其方向必须向下(只能从父节点指向子节点方向)。给定一棵二叉树其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法打印节点数值总和等于某个给定值的所有路径的数量。注意路径不一定非得从二叉树的根节点或叶节点开始或结束但是其方向必须向下(只能从父节点指向子节点方向)。 示例: 给定如下二叉树以及目标和 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] 提示
节点总数 10000
Related Topics
树深度优先搜索二叉树 重点解题思路 明确题目要求路径不一定非得从根节点开始可以从树中任意节点开始。 明确解题思路正常使用dfs即可当sum值减到0就说明有一条路线然后枚举树中的每一 个节点即可 源码 class Solution {public int pathSum(TreeNode root, int sum) {if (root null) return 0;int l pathSum(root.left, sum);int r pathSum(root.right, sum);return l r getSum(root, sum);}public int getSum(TreeNode root, int sum) {if (root null) return 0;sum - root.val;return (sum 0 ? 1 : 0) getSum(root.left, sum) getSum(root.right, sum);}} 运行结果 如果您还有什么疑问或解答有问题可在下方评论我会及时回复。
系列持续更新中点个订阅吧喜欢练习算法那就点个攒吧