目录
112. 路径总和
【题目】:
【代码】:
效果:
437. 路径总和 III
【题目】:
【代码】:
效果:
执行5ms范例中利用数组的方法也很巧妙:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
private int count = 0;
public int pathSum(TreeNode root, int sum) {
if (root == null){
return count;
}
pathSum(root, sum, new int[0]);
return count;
}
public void pathSum(TreeNode root, int target, int[] last){
if (root == null){
return;
}
int[] arr = new int[last.length + 1];
System.arraycopy(last, 0, arr, 0, last.length);
for (int i = 0; i < arr.length; i++) {
arr[i] += root.val;
if (arr[i] == target){
count++;
}
}
if (root.left != null){
pathSum(root.left, target, arr);
}
if (root.right != null){
pathSum(root.right, target, arr);
}
}
}