For Input N=2 ans trust array: [[1,2]] i get correct answer.
But for N=3 and trust array: [[1,2],[2,3]] i get Address Sanitizer Error...
I can't figure out what is wrong with this code?
class Solution {
public:
int findJudge(int N, vector<vector<int>>& trust){
int i, j;
vector<vector<int>> v(N+1);
v[0].push_back(-1);
for(i=0;i<trust.size();i++)
v[trust[i][1]].push_back(trust[i][0]);
/* for(i=0; i<=N; i++){
for(j=0; j<v[i].size(); j++)
cout<<v[i][j]<<" ";
cout<<endl;
} */
int ans = 0;
for(i=1; i<=v.size(); i++){
if(v[i].size() == N-1)
{
ans=i;
break;
}
}
bool flag = true;
if(ans==0){
//return -1;
flag=false;
}
else if(ans>0)
{
for(i=0; i<trust.size(); i++)
{
if(trust[i][0]==ans)
{
flag=false;
break;
}
}
}
if(flag == false)
return -1;
else return ans;
}
```
};