美文网首页
练习2-节点比对

练习2-节点比对

作者: 王二麻子88 | 来源:发表于2021-03-03 22:48 被阅读0次

    题目
    查找两个节点的最近的一个共同父节点,可以包括节点自身

    代码实现

      function commonParentNode(oNode1, oNode2) {
      let parentNode1 = oNode1.parentNode;
      let parentNode2 = oNode2.parentNode;
      while(true) {
        // 循环比对 节点
        // 比对成功之后 用break打断循环, 一直两者具有想用的父节点, 因此循环一定能打破
        // 比对失败之后取当前节点的父节点继续进行比对
        if (parentNode1.contains(oNode2)) {
          return parentNode1;
        } else if (parentNode1.contains(parentNode2)) {
          return parentNode1;
        } else{
          parentNode1 = parentNode1.parentNode;
        }
    
        if (parentNode2.contains(oNode1)) {
          return parentNode2;
        } else if (parentNode2.contains(parentNode1)) {
          return parentNode2;
        } else {
          parentNode2 = parentNode2.parentNode;
        }
      }
    }
    

    相关文章

      网友评论

          本文标题:练习2-节点比对

          本文链接:https://www.haomeiwen.com/subject/dpqfqltx.html