본문 바로가기
IT/[Everyday]Coding

이진트리 높이 탐색

by Jang HyunWoong 2018. 2. 20.

이진트리의 높이를 구해보자.

#이진트리를 구성하는 노드 class Node: def __init__(self,data): self.right=self.left=None self.data = data #이진트리 설계 class Solution: def insert(self,root,data): if root==None: return Node(data) else: if data<=root.data: cur=self.insert(root.left,data) root.left=cur else: cur=self.insert(root.right,data) root.right=cur return root #높이를 구하는 함수 def getHeight(self,root): #Write your code here if root is None: return -1 leftHeight = self.getHeight(root.left) + 1 rightHeight = self.getHeight(root.right) + 1 return max(leftHeight, rightHeight) T=int(input()) myTree=Solution() root=None for i in range(T): data=int(input()) root=myTree.insert(root,data) height=myTree.getHeight(root) print(height)


재귀호출을 사용해서 높이를 구하는 방법이다. 
getHeight() 함수가 높이를 구하는 함수이다.


반응형