题解 | #二叉树中和为某一值的路径(二)#

二叉树中和为某一值的路径(二)

http://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca

dfs

public void dfs(TreeNode root, int sum, ArrayList<Integer> list, ArrayList<ArrayList<Integer> result){
  // 若当前节点为空节点,返回
  if(root == null){
    return;
  }
  // 将当前节点的值存放到list中
  ArrayList<Integer> sublist = new ArrayList<>(list);
  sublist.add(root.val);
  //若当前节点没有子节点, 判断加上当前节点的值是否等于期望的sum
  if(root.left == null && root.right == null){
    if(root.val == sum){
    	result.add(sublist);
    	return;
  	}
  }else{
    //若当前节点存在子节点,则dfs;
    dfs(root.left, sum - root.val, sublist, result);
    dfs(root.right, sum - root.val, sublist, result);
  }
}
全部评论

相关推荐

02-19 19:57
门头沟学院 Java
点赞 评论 收藏
分享
黑皮白袜臭脚体育生:简历统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写会更好另外宣传下自己的开源仿b站微服务项目,GitHub已经410star,牛客上有完整文档教程,如果觉得有帮助的话可以点个小星星,蟹蟹
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务