很简单一道题,搞错了N次,记录一下. public class Solution { private int currSum = 0; public boolean hasPathSum(TreeNode root, int sum) { if (null == root) return false; currSum = 0; return hasPathSumCore(root, sum); } public boolean hasPathSumCore(TreeNode root, int…
Problem Link: http://oj.leetcode.com/problems/path-sum-ii/ The basic idea here is same to that of Path Sum. However, since the problem is asking for all possible root-to-leaf paths, so we should use BFS but not DFS. The python code is as follows. # D…
Problem Link: http://oj.leetcode.com/problems/path-sum/ One solution is to BFS the tree from the root, and for each leaf we check if the path sum equals to the given sum value. The code is as follows. # Definition for a binary tree node # class TreeN…
Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. Example Given the below binary tree: 1 / \ 2 3 return 6. For this problem we need to think about the problem in this way. Now we want the largest sum…
Path sum: four ways NOTE: This problem is a significantly more challenging version of Problem 81. In the 5 by 5 matrix below, the minimal path sum from the top left to the bottom right, by moving left, right, up, and down, is indicated in bold red an…
Path sum: three ways NOTE: This problem is a more challenging version of Problem 81. The minimal path sum in the 5 by 5 matrix below, by starting in any cell in the left column and finishing in any cell in the right column, and only moving up, down,…
You are given a binary tree in which each node contains an integer value. Find the number of paths that sum to a given value. The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to…