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

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

http://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c

import java.util.*;

/*

  • public class TreeNode {
  • int val = 0;
  • TreeNode left = null;
  • TreeNode right = null;
  • } */

public class Solution { /** * * @param root TreeNode类 * @param sum int整型 * @return bool布尔型 */ public boolean hasPathSum (TreeNode root, int sum) { if(root == null) return false;

	if(dfs(root,sum,0)) return true;
	return false;
}
public boolean dfs(TreeNode root,int sum,int num) {
	if(root.left==null && root.right==null) {
		if(num + root.val == sum) return true;
		else return false;
	}
	
	num = num + root.val;
	boolean flag1 = false;
	if(root.left != null) {
		flag1 = dfs(root.left,sum,num);
	}
	boolean flag2 = false;
	if(root.right != null) {
		flag2 = dfs(root.right,sum,num);
	}
	if(flag1 || flag2) return true;
	
	return false;
}

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务