解题思路
本题在二叉树上统计根到叶子路径,且路径上不能出现连续两个负值结点(0 视为非负)。需一次 DFS 同时求最大合法路径和、是否存在和 ≥threshold、合法路径总数。
- 空树:直接返回 [−2147483648,0,0]。
- DFS 状态:当前路径和
cur_sum、上一结点是否为负 prev_neg。进入结点时若当前为负且 prev_neg 为真,则该向下延伸的路径前缀已非法,剪枝返回。
- 叶子判定:左右子均为空时更新
max_val、count,并检查 cur_sum >= threshold 置 has_path_ge = 1。
- 无合法路径:若
count == 0,max_val 置为 −2147483648。