这是一到技巧题, 核心思想就是 从1出发,只有最长路径才不会被重复走两次, 大家可以在纸上模拟几个场景就知道。那么就是 2(总边数)- 最长路径的边数。 边数为 n-1, n为顶点数, 最后公式演变为 2(n-1)-最长路径边数。所以现在的首要问题是找最长路径, 采用递归方式找,可以用 visited 标记哪些节点是否走过的,防止走回头路 import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { ...