Example #1
0
  boolean isIntersecting(LinkedList6 l) {
    int n1 = this.numNodes();
    int n2 = l.numNodes();
    if (n1 == 0 || n2 == 0) return false;
    Node6 ln1 = this.getLast();
    Node6 ln2 = l.getLast();
    if (ln1 != ln2) return false;
    Node6 n;
    Node6 m;
    int i;
    if (n1 > n2) {
      i = 1;
      n = this.start;
      while (i < n1 - n2 + 1) {
        n = n.next;
        i++;
      }
      m = l.start;
      return intersecting(n, m);
    } else if (n1 <= n2) {
      i = 1;
      n = l.start;
      while (i < n2 - n1 + 1) {
        n = n.next;
        i++;
      }
      m = this.start;
      return intersecting(n, m);
    }

    return false;
  }