This solution is generated by ChatGPT, correctness is not guaranteed.
AI solution for JavaScript Coding Question on BFE.dev
58. get DOM tree height
Recursive Solution:
function getDOMTreeHeight(node) {
if (!node) {
return 0;
} else {
let leftHeight = getDOMTreeHeight(node.leftElement);
let rightHeight = getDOMTreeHeight(node.rightElement);
if (leftHeight > rightHeight) {
return leftHeight + 1;
} else {
return rightHeight + 1;
}
}
}
let treeHeight = getDOMTreeHeight(document.querySelector('div'));
console.log(treeHeight);
Iterative Solution:
function getDOMTreeHeight(node) {
if (!node) {
return 0;
}
let queue = [];
queue.push({node: node, height: 0});
let maxDepth = 0;
while(queue.length > 0) {
let current = queue.shift();
let currentNode = current.node;
let currentHeight = current.height;
maxDepth = Math.max(maxDepth, currentHeight);
for(let i=0; i<currentNode.children.length; i++) {
queue.push({node: currentNode.children[i], height: currentHeight + 1});
}
}
return maxDepth;
}
let treeHeight = getDOMTreeHeight(document.querySelector('div'));
console.log(treeHeight);