#P2892. 第2题-二叉树换装

第2题-二叉树换装

题目内容

假设我们有一颗装满彩灯的二叉树,树的每个节点代表一个灯泡。每个灯泡有三种颜色状态:红色(用整数 11 表示)、绿色(用整数 22 表示)和蓝色(用整数 33 表示)。每个节点上都配有一个开关,当按下某个节点的开关时,以该节点为根节点的子树上所有节点的灯泡颜色都会根据当前的颜色按照 ">绿>>>红 -> 绿 -> 蓝 -> 红 ->…"的循环切换顺序切换一次颜色。

给定二叉树的初始颜色状态 initial 和目标颜色状态 target,两者都以层序遍历的一维整数数组的形式表示,数组元素对应二叉树层序遍历的节点的颜色。如果某个节点在二叉树中不存在,则在数组中使用 00 表示。

目标:计算将二叉树从初始颜色状态 initial 切换到目标颜色状态 target 所需的最少开关切换次数。

解释补充: