comefrom: <awangdev>785. Is Graph Bipartite_2.java
code: public boolean isBipartite(int[][] graph) {
          int n = graph.length; 
          Boolean[] states = new Boolean[n];
  
          for (int i = 0; i < n; i++) { 
              if (states[i] != null) continue; 
              Queue<Integer> queue = new LinkedList<Integer>();
              queue.offer(i);
              states[i] = true;
              while (!queue.isEmpty()) {
                  int curr = queue.poll();
                  for (int next : graph[curr]) {
                      if (states[next] != null) {
                          if (states[next] == states[curr]) return false;
                          continue;
                      }
                      states[next] = !states[curr];
                      queue.offer(next);
                  }
              }
          }
          return true;
      }
masked: public boolean var_0 ( int [ ] [ ] var_1 ) {
    int var_2 = var_1 . length ;
    Boolean [ ] var_3 = new Boolean [ var_2 ] ;
    for ( int var_4 = 0 ;
    var_4 < var_2 ;
    var_4 ++ ) {
      if ( var_3 [ var_4 ] != null ) continue ;
      Queue < Integer > var_5 = new LinkedList < Integer > ( ) ;
      var_5 . offer ( var_4 ) ;
      var_3 [ var_4 ] = true ;
      while ( ! var_5 . isEmpty ( ) ) {
        int var_6 = var_5 . poll ( ) ;
        for ( int var_7 : var_1 [ var_6 ] ) {
          if ( var_3 [ var_7 ] != null ) {
            if ( var_3 [ var_7 ] == var_3 [ var_6 ] ) return false ;
            continue ;
          }
          var_3 [ var_7 ] = ! var_3 [ var_6 ] ;
          var_5 . offer ( var_7 ) ;
        }
      }
    }
    return true ;
  }
  