原文:(劍指Offer)面試題39:判斷平衡二叉樹

題目: 輸入一課二叉樹的根結點,判斷該樹是不是平衡二叉樹。如果二叉樹中任意結點的左右子樹的深度相差不超過 ,那么它就是一棵平衡二叉樹。 思路: 重復遍歷結點 參考上一題求二叉樹的深度,先求出根結點的左右子樹的深度,然后判斷它們的深度相差不超過 ,如果否,則不是一棵二叉樹 如果是,再用同樣的方法分別判斷左子樹和右子樹是否為平衡二叉樹,如果都是,則這就是一棵平衡二叉樹。 但上面的方法在判斷子樹是否為平 ...

2015-07-26 21:26 0 1882 推薦指數:

查看詳情

offer面試題39 二叉樹的深度(java)

摘要: 今天翻到了《offer面試題39,題目二中的解法二是在函數的參數列表中通過指針的方式進行傳值,而java是沒有指針的,所以函數要進行改造。然而我翻了下別人的java版本(我就想看看有什么高大上的改造,畢竟要傳遞多個參數,是不是會涉及到那么一點點設計模式呢?),簡直不能忍了,我只能 ...

Tue May 16 02:19:00 CST 2017 0 2181
offer 面試題6:重建二叉樹

重建二叉樹 題目   輸入某二叉樹的前序遍歷和中序遍歷,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含有重復的數字。   例如,前序遍歷序列:{1,2,3,7,3,5,6,8},中序遍歷序列:{4,7,2,1,5,3,8,6} 答案   前序遍歷:     前序遍歷 ...

Sun Aug 25 18:11:00 CST 2013 2 5224
Offer面試題:33.二叉樹的深度

一、題目一:二叉樹的深度 1.1 題目說明 題目一:輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。例如下圖中的二叉樹的深度為4,因為它從根結點到葉結點最長的路徑包含4個結點(從根結點1開始,經過結點2和結點 ...

Sun Sep 20 22:13:00 CST 2015 0 15670
offer編程題Java實現——面試題6重建二叉樹

題目: 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷結果中都不含重復的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建出二叉樹並輸出他的根節點。 在二叉樹的前序遍歷中,第一個數字總是樹 ...

Sun Feb 26 21:52:00 CST 2017 0 4118
Offer面試題59:對稱的二叉樹

題目: 請實現一個函數,用來判斷一顆二叉樹是不是對稱的。 注意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其為對稱的。 思路: 對於一棵二叉樹,從根結點開始遍歷, 如果左右子結點有一個為NULL,那么肯定不是對稱二叉樹; 如果左右子結點均不為空,但不相等,那么肯定不是對稱二叉樹 ...

Tue Aug 11 04:57:00 CST 2015 0 1954
Offer面試題:18.二叉樹的鏡像

一、題目:二叉樹的鏡像 題目:請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像。例如下圖所示,左圖是原二叉樹,而右圖則是該二叉樹的鏡像。   該二叉樹節點的定義如下,采用C#語言描述: 二、解題思路 2.1 核心步驟   Step1.先序遍歷原二叉樹的每個 ...

Tue Sep 01 07:36:00 CST 2015 0 3198
Offer面試題:5.重建二叉樹

一、題目:重建二叉樹 題目:輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重復的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建出如下圖所示的二叉樹並輸出它的頭結點 ...

Thu Aug 20 07:12:00 CST 2015 1 6051
【Java】 offer(55-2) 平衡二叉樹

本文參考自《offer》一書,代碼采用Java語言。 更多:《Offer》Java實現合集 題目   輸入一棵二叉樹的根結點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意結點的左右子樹的深度相差不超過1,那么它就是一棵平衡二叉樹。 思路   在(55-1) 二叉樹的深度 ...

Thu Nov 15 01:25:00 CST 2018 0 632
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM