题目大意:给定一棵 N 个节点的无根树,边权都是 1,可以把树上父亲相同的两条长度相同的链合并,问最后是否可以合并成一条链,如果可以,输出链的最小长度,否则输出 -1. 题解: 由于我们不知道最后的根是哪个节点,于是我们先随便找一个点dfs一次,并用一个 set 来记录当前节点为根的子树中所有链的长度.由于 set 自动去重,那么 set 中的元素个数 num 就只有以下几种情况: num=0,此时说明已经是叶子节点,直接返回 0 num=1,此时说明子树中所有链都可以合并成为一条链,返回链长…