哪里死递归了
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10;
vector<int> G[N];
int d[N],maxn,vis,n,start;
int dfs(int u,int f){
for(auto v:G[u]){
if(v==f) continue;
d[v]=d[u]+1;
if(d[v]-d[start]>maxn){
maxn=d[v]-d[start];
vis=v;
}
dfs(v,u);
}
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n-1;i++){
int u,v;
cin>>u>>v;
G[u].emplace_back(v);
G[v].emplace_back(u);
}
start=1;
dfs(1,0);
start=start;
dfs(vis,0);
cout<<maxn;
}