[LeetCode] Path Sum II

简介: Well, a typical backtracking problem. The code is as follows. You may walk through it using the example in the problem statement to see how it works.

Well, a typical backtracking problem. The code is as follows. You may walk through it using the example in the problem statement to see how it works.

 1 class Solution {
 2 public:
 3     vector<vector<int>> pathSum(TreeNode* root, int sum) {
 4         vector<vector<int> > paths;
 5         vector<int> path;
 6         findPaths(root, sum, path, paths);
 7         return paths;  
 8     }
 9 private:
10     void findPaths(TreeNode* node, int sum, vector<int>& path, vector<vector<int> >& paths) {
11         if (!node) return;
12         path.push_back(node -> val);
13         if (!(node -> left) && !(node -> right) && sum == node -> val)
14             paths.push_back(path);
15         findPaths(node -> left, sum - node -> val, path, paths);
16         findPaths(node -> right, sum - node -> val, path, paths);
17         path.pop_back();
18     }
19 };

 

目录
相关文章
LeetCode Contest 178-1368. 使网格图至少有一条有效路径的最小代价 Minimum Cost to Make at Least One Valid Path in a Grid
LeetCode Contest 178-1368. 使网格图至少有一条有效路径的最小代价 Minimum Cost to Make at Least One Valid Path in a Grid
|
存储
LeetCode 329. Longest Increasing Path in a Matrix
给定一个整数矩阵,找出最长递增路径的长度。 对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。
81 0
LeetCode 329. Longest Increasing Path in a Matrix
|
Go
LeetCode 124. Binary Tree Maximum Path Sum
给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。
76 0
LeetCode 124. Binary Tree Maximum Path Sum
|
Unix Python
LeetCode 71. Simplify Path
给定文件的绝对路径(Unix下的路径)字符串,简化此字符串。
92 0
LeetCode 71. Simplify Path
LeetCode 64. Minimum Path Sum
给定m x n网格填充非负数,找到从左上到右下的路径,这最小化了沿其路径的所有数字的总和。 注意:您只能在任何时间点向下或向右移动。
112 0
LeetCode 64. Minimum Path Sum
Leetcode-Easy 437. Path Sum III
Leetcode-Easy 437. Path Sum III
101 0
Leetcode-Easy 437. Path Sum III