塔子哥有一棵有nnn个节点的树,根节点为1号节点,树的每个节点是红色或者黑色,她想知道有多少节点的子树中同时包含红点和黑点。
本题其实就是统计子树中有多少个节点既有红色节点,又有黑色节点。我们可以自顶向下来进行DFS
遍历到uuu节点时,首先根据uuu节点是红/黑,来对变量进行初始化
然后我们可以遍历uuu的所有子节点,去将以uuu为根节点的红/黑节点数量进行累加计算。
最后判断以uuu为子树的根节点的红色和黑色节点数量是否都大于0,若大于0,则答案+1
本题属于以下题库,请选择所需题库进行购买
ScanQRCodePrompt
GoToPasswordLoginPrompt