public boolean DFS(TreeNode root, int curSum, int sum) {
		boolean hasPath = false;
		curSum += root.val;
		if (root.left == null && root.right == null) {
			if (curSum == sum)
				return true;
		}

		if (root.left != null) {
			hasPath = DFS(root.left, curSum, sum);
		}

		if (!hasPath && root.right != null) {
			hasPath = DFS(root.right, curSum, sum);
		}

		return hasPath;

	}