Untitled

 avatar
unknown
plain_text
2 years ago
1.1 kB
5
Indexable
class Solution {
    static class Edge{
        int src;
        int nbr;
        boolean isVisited = false;
        Edge(int u, int v){
            self.src = u;
            self.nbr = v;
        }
    }

    public boolean validPath(int n, int[][] edges, int source, int destination) {
        ArrayList<Edge> [] graph = new ArrayList<Edge> [n];
        for(int i=0;i<n;i++){
            graph [i] = new ArrayList<>();
        }
         

        for(int i=0;i<edges.lenght;i++){
            graph[edges[i][0]].add(new Edge(edges[i][0],edges[i][1]));
            graph[edges[i][1]].add(new Edge(edges[i][1],edges[i][0]));
        }

    }

    public boolean isPath(ArrayList<Edge> [] graph,int src,int dest){
        if(src == dest){
            return true;
        }
        // graph[src].isVisited = true;

        for(int i=0;i<graph[src].size();i++){
            boolean res = isPath(graph,graph[src].get(i).nbr,dest);
            if(res){
                return true;
            }       
        }

        return false;

    }
}
Editor is loading...