题目描述
题解
DFS
采取自下向上的思路, 顺序为后续遍历. 对于每个节点, 要根据其子节点的状态来判断是否要安装摄像头, 定义三个状态来描述每个节点:
0
: 该节点待覆盖. 当该节点为叶子节点或者两个儿子都被覆盖但是两个儿子都没有安装相机时
1
: 该节点被覆盖. 至少有一个儿子有相机或者该节点为null时.
2
: 该节点安装相机. 当两个儿子都是状态0
时
1 | class Solution { |
采取自下向上的思路, 顺序为后续遍历. 对于每个节点, 要根据其子节点的状态来判断是否要安装摄像头, 定义三个状态来描述每个节点:
0
: 该节点待覆盖. 当该节点为叶子节点或者两个儿子都被覆盖但是两个儿子都没有安装相机时
1
: 该节点被覆盖. 至少有一个儿子有相机或者该节点为null时.
2
: 该节点安装相机. 当两个儿子都是状态0
时
1 | class Solution { |
微信支付
支付宝