二叉樹的高度


本文算法使用python3實現


1. 問題

  求解二叉樹的高度。


2 思路描述

  方法一:利用層次遍歷來求解二叉樹的高度。(如果懂如何進行BFS就容易明白此種方法)
  方法二:利用遞歸求二叉樹高度。


3 程序代碼:

(1)方法一

class Solution:
	def TreeDepth(self, root):
		if root == None:
			return
		queue = []
		depth = 0
		queue.append(root)

		while queue:
			# childs保存每一層節點
			childs = []
			for node in queue:
				if node.left:
					childs.append(node.left)
				if node.right:
					childs.append(node.right)
			queue = childs
			depth += 1
		return depth

(2)方法二

class Solution:
	def TreeDepth(self, root):
		if not root:
			return 0
		left = self.TreeDepth(root.left)
		right = self.TreeDepth(root.right)
		return max(left, right) + 1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM