美文网首页
练习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