LeetCode958 二叉樹的完全性檢驗

2022-09-21 15:06:15 字數 622 閱讀 9103

給定乙個二叉樹的 root ,確定它是否是乙個 完全二叉樹 。

在乙個 完全二叉樹 中,除了最後乙個關卡外,所有關卡都是完全被填滿的,並且最後乙個關卡中的所有節點都是盡可能靠左的。它可以包含 1 到 2ʰ 節點之間的最後一級 h 。

示例 1: 

輸入:root = [1,2,3,4,5,6]

輸出:true

解釋:最後一層前的每一層都是滿的(即,結點值為 和 的兩層),且最後一層中的所有結點()都盡可能地向左。

示例 2:

輸入:root = [1,2,3,4,5,null,7]

輸出:false

解釋:值為 7 的結點沒有盡可能靠向左側。

樹的結點數在範圍 [1, 100] 內。

1 <= node.val <= 1000

深度優先計數法

下標為i的節點的左子節點下標為i*2,右子節點下標為i*2+1

如果是完全二叉樹,節點的個數一定等於最右下角的節點下標

class solution 

private void dfs(treenode root,int index)

}

廣度優先計數法

Leetcode 958 二叉樹的完全性檢驗

給定乙個二叉樹,確定它是否是乙個完全二叉樹 若設二叉樹的深度為h,除第h層外,其他各層 1 h 1 的結點數都達到最大個數,第h層所有的結點都連續集中在最左邊,這就是完全二叉樹。注 第h層可能包含1 2 h個節點 示例1 輸入 1,2,3,4,5,6 輸出 true 解釋 最後一層前的每一層都是滿的...

leetcode 958 二叉樹的完全性檢驗

958.二叉樹的完全性檢驗 難度中等 給定乙個二叉樹,確定它是否是乙個完全二叉樹。若設二叉樹的深度為 h,除第 h 層外,其它各層 1 h 1 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊,這就是完全二叉樹。注 第 h 層可能包含 1 2h 個節點。示例 1 輸入 1,2,3,4,...

leetcode 二叉樹 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3 方法一 遞迴 思路 如果乙個樹的左子樹與右子樹映象對稱,則該樹是對稱的 兩個樹互為映象的...