872. 잎을 닮은 나무
설명:
이진 트리의 모든 잎을 왼쪽에서 오른쪽으로 고려하면 해당 잎의 값이 잎 값 시퀀스를 형성합니다.
해결책:
시간 복잡도 : O(n)
공간 복잡도: O(n)
// DFS approach
// Staring from the left side of the tree,
// push all leaf nodes from each root into 2 respective arrays
// Check if the values in those 2 arrays are the same
var leafSimilar = function(root1, root2) {
const output1 = []
const output2 = []
dfs(root1, output1)
dfs(root2, output2)
return (output1.length == output2.length &&
output1.every((val, index) => val === output2[index]));
function dfs(node, output) {
if(!node) return
// Leaf node if the current ndoe has no children
// Push value into it's respective array
if(!node.left && !node.right) {
output.push(node.val)
return
}
if(node.left) dfs(node.left, output)
if(node.right) dfs(node.right, output)
}
};
Reference
이 문제에 관하여(872. 잎을 닮은 나무), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cod3pineapple/872-leaf-similar-trees-4eam텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)