代码中这句好奇怪:
if (cc.count() > 1) return false;
我觉得 if (cc.count() != 1) return false
更恰当一点,除此之外,还应确保图中有边。
欧拉回路,既然它是环,那么**「环」本身应该有边且至少经过一个顶点**才对。这样的话,一张图中没有任何边,肯定就不存在欧拉回路。
涉及到环的定义,我参考了一下维基百科:
In graph theory, a cycle in a graph is a non-empty trail in which only the first and last vertices are equal.
我觉得这个定义还可以,因为在一张图中如果没有任何边或者没有任何顶点的话,那么我们之前写的环检测的算法就根本不能检测到图中存在环了。然后,既然不存在环,那么自然就没有欧拉回路。