437. Path Sum III
Posted skillking
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了437. Path Sum III相关的知识,希望对你有一定的参考价值。
一、题目
1、审题
2、分析
求所有的单条路径中符合和为 sum 的路径条数。结尾节点不需要为叶子节点。
二、解答
1、思路
方法一、
采用递归的方法。
首先求从 根节点开始的路径满足和为 sum 的条数;
其次求从 根的左孩子节点开始的路径满足和为 sum 的条数;
最终求从 根的右孩子节点开始的路径满足和为 sum 的条数;
public int pathSum(TreeNode root, int sum) if(root == null) return 0; int rootLeading = pathSumFrom(root, sum); int leftPathLeading = pathSum(root.left, sum); int rightPathLeading = pathSum(root.right, sum); return rootLeading + leftPathLeading + rightPathLeading; private int pathSumFrom(TreeNode root, int sum) if(root == null) return 0; return (root.val == sum ? 1 : 0) + pathSumFrom(root.left, sum - root.val) + pathSumFrom(root.right, sum - root.val);
以上是关于437. Path Sum III的主要内容,如果未能解决你的问题,请参考以下文章