DSA 섹션중간

이진 트리

'바이너리 트리' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

중간

이진 트리 tree_arr(루트는 인덱스 0에 있고 인덱스 i의 자식은 2i + 12i + 2에 있으며 None은 빈 노드를 나타냄)의 배열 표현을 취하고 트리의 모든 노드가 동일한 값을 갖는 경우 True을 반환하고 그렇지 않으면 False을 반환하는 함수 is_univalued_binary_tree(tree_arr)을 작성하세요.

제약
  • 0 <= len(tree_arr) <= 1000

Example 1
Input
tree_arr = [1, 1, 1, 1, 1, None, 1]
Output
True
Explanation

All nodes in the tree contain the value 1.

Example 2
Input
tree_arr = [2, 2, 2, 5, 2]
Output
False
Explanation

One node has value 5, which differs from other nodes (value 2).

Need a Hint?
세트나 힙과 같은 트리 관련 데이터 구조를 사용해 보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.