给定一棵多叉树的头节点head,
每个节点的颜色只会是0、1、2、3中的一种,
任何两个节点之间的都有路径,
如果节点a和节点b的路径上,包含全部的颜色,这条路径算达标路径,
(a -> … -> b)和(b -> … -> a)算两条路径。
求多叉树上达标的路径一共有多少?
点的数量 <= 10^5。
方法一:自然智慧,所有节点两两对比。
方法二:递归,前缀和+后缀和+位运算。目前是最难的。
当前节点是起点,当前节点是终点。
子节点两两对比。
代码用golang编写。代码如下:
执行结果如下: