题目描述
查找两个节点的最近的一个共同父节点,可以包括节点自身
输入描述:
oNode1 和 oNode2 在同一文档中,且不会为相同的节点
解题思路:判断一个节点以及它的父节点是否包含另一个节点。
function commonParentNode(oNode1, oNode2) { while(true){ oNode1 = oNode1.parentNode; if(oNode1.contains(oNode2)){ return oNode1; } } }
两边找
function commonParentNode(oNode1, oNode2) { let parentNode1 = oNode1.parentNode; let parentNode2 = oNode2.parentNode; while(true){ if(parentNode1.contains(oNode2)){ return parentNode1; } if(parentNode2.contains(oNode1)){ return parentNode2; } parentNode1 = parentNode1.parentNode; parentNode2 = parentNode2.parentNode; } }