Leetcode Python - 100. Same Tree
Leetcode #100 - Same Tree
이제 blind 75 leetcode를 풀어보겠습니다. https://leetcode.com/discuss/interview-question/460599/Blind-75-LeetCode-Questions
리트코드의 문제 100 ‘Same Tree’을 파이썬으로 풀어 보도록 하겠습니다.
discuss 참고 포인트는 stack 을 이용한 pre-order traversal 을 이용하는 것입니다.
전체 코드는 아래와 같습니다.
class Solution:
def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
stack = [(p, q)]
while stack:
n1, n2 = stack.pop()
if n1 and n2 and n1.val == n2.val:
stack.append((n1.left, n2.left))
stack.append((n1.right, n2.right))
elif not n1 and not n2:
continue
else:
return False
return True
시간복잡도는
- O(n) : 한번씩 방문
공간복잡도는
- O(h) : h는 깊이