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

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

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-15 16:23
中南大学 Java
野猪不是猪🐗:签了美团真是不一样! 亲戚们都知道我签了美团,过年都围着我问送一单多少钱,还让弟弟妹妹们引以为戒,笑我爸我妈养了个🐢孩子,说从小就知道我这个人以后肯定没出息,我被骂的都快上天了
点赞 评论 收藏
分享
昨天 16:39
北华大学 培训师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务