避开sum是0时候的坑就行了:
public class Solution {
/**
*
* @param root TreeNode类
* @param sum int整型
* @return int整型ArrayList<ArrayList<>>
*/
public ArrayList<ArrayList<integer>> pathSum (TreeNode root, int sum) {
ArrayList<ArrayList<integer>> result = new ArrayList<ArrayList<integer>>();
parseTree(root,sum,new ArrayList<integer>(),result);
return result;
}
void parseTree(TreeNode treeNode,int sum,ArrayList<integer> parentList,ArrayList<ArrayList<integer>> result){
if(treeNode == null){
return;
}
parentList.add(treeNode.val);
if(treeNode.left == null && treeNode.right == null){
if(treeNode.val == sum){
result.add(parentList);
}
return;
}
parseTree(treeNode.left,sum-treeNode.val,new ArrayList(parentList),result);
parseTree(treeNode.right,sum-treeNode.val,new ArrayList(parentList),result);
}
}</integer></integer></integer></integer></integer></integer>